Edit File by line
/home/zeestwma/ceyloniy.../wp-conte.../plugins/elemento.../modules/site-nav.../data/endpoint...
File: recent-posts.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace Elementor\Modules\SiteNavigation\Data\Endpoints;
[2] Fix | Delete
[3] Fix | Delete
use Elementor\Core\Base\Document;
[4] Fix | Delete
use Elementor\Core\Kits\Documents\Kit;
[5] Fix | Delete
use Elementor\Data\V2\Base\Endpoint;
[6] Fix | Delete
use Elementor\Plugin;
[7] Fix | Delete
use Elementor\TemplateLibrary\Source_Local;
[8] Fix | Delete
use Elementor\Utils;
[9] Fix | Delete
use WP_REST_Server;
[10] Fix | Delete
[11] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[12] Fix | Delete
exit; // Exit if accessed directly.
[13] Fix | Delete
}
[14] Fix | Delete
[15] Fix | Delete
class Recent_Posts extends Endpoint {
[16] Fix | Delete
[17] Fix | Delete
public function register_items_route( $methods = WP_REST_Server::READABLE, $args = [] ) {
[18] Fix | Delete
$args = [
[19] Fix | Delete
'posts_per_page' => [
[20] Fix | Delete
'description' => 'Number of posts to return',
[21] Fix | Delete
'type' => 'integer',
[22] Fix | Delete
'required' => true,
[23] Fix | Delete
'sanitize_callback' => 'absint',
[24] Fix | Delete
'validate_callback' => 'rest_validate_request_arg',
[25] Fix | Delete
],
[26] Fix | Delete
'post_type' => [
[27] Fix | Delete
'description' => 'Post types to retrieve',
[28] Fix | Delete
'type' => 'array',
[29] Fix | Delete
'required' => false,
[30] Fix | Delete
'default' => [ 'page', 'post', Source_Local::CPT ],
[31] Fix | Delete
'sanitize_callback' => 'rest_sanitize_array',
[32] Fix | Delete
'validate_callback' => 'rest_validate_request_arg',
[33] Fix | Delete
],
[34] Fix | Delete
'post__not_in' => [
[35] Fix | Delete
'description' => 'Post id`s to exclude',
[36] Fix | Delete
'type' => 'array',
[37] Fix | Delete
'required' => [],
[38] Fix | Delete
'sanitize_callback' => 'wp_parse_id_list',
[39] Fix | Delete
'validate_callback' => 'rest_validate_request_arg',
[40] Fix | Delete
],
[41] Fix | Delete
];
[42] Fix | Delete
[43] Fix | Delete
parent::register_items_route( $methods, $args );
[44] Fix | Delete
}
[45] Fix | Delete
[46] Fix | Delete
public function get_name() {
[47] Fix | Delete
return 'recent-posts';
[48] Fix | Delete
}
[49] Fix | Delete
[50] Fix | Delete
public function get_format() {
[51] Fix | Delete
return 'site-navigation/recent-posts';
[52] Fix | Delete
}
[53] Fix | Delete
[54] Fix | Delete
public function get_items( $request ) {
[55] Fix | Delete
$args = [
[56] Fix | Delete
'posts_per_page' => $request->get_param( 'posts_per_page' ),
[57] Fix | Delete
'post_type' => $request->get_param( 'post_type' ),
[58] Fix | Delete
'fields' => 'ids',
[59] Fix | Delete
'meta_query' => [
[60] Fix | Delete
[
[61] Fix | Delete
'key' => Document::TYPE_META_KEY,
[62] Fix | Delete
'value' => Kit::get_type(), // Exclude kits.
[63] Fix | Delete
'compare' => '!=',
[64] Fix | Delete
],
[65] Fix | Delete
],
[66] Fix | Delete
];
[67] Fix | Delete
[68] Fix | Delete
$exclude = $request->get_param( 'post__not_in' );
[69] Fix | Delete
[70] Fix | Delete
if ( ! empty( $exclude ) ) {
[71] Fix | Delete
$args['post__not_in'] = $exclude;
[72] Fix | Delete
}
[73] Fix | Delete
[74] Fix | Delete
$recently_edited_query = Utils::get_recently_edited_posts_query( $args );
[75] Fix | Delete
[76] Fix | Delete
$recent = [];
[77] Fix | Delete
[78] Fix | Delete
foreach ( $recently_edited_query->posts as $id ) {
[79] Fix | Delete
$document = Plugin::$instance->documents->get( $id );
[80] Fix | Delete
[81] Fix | Delete
$recent[] = [
[82] Fix | Delete
'id' => $id,
[83] Fix | Delete
'title' => get_the_title( $id ),
[84] Fix | Delete
'edit_url' => $document->get_edit_url(),
[85] Fix | Delete
'date_modified' => get_post_timestamp( $id, 'modified' ),
[86] Fix | Delete
'type' => [
[87] Fix | Delete
'post_type' => get_post_type( $id ),
[88] Fix | Delete
'doc_type' => $document->get_name(),
[89] Fix | Delete
'label' => $document->get_title(),
[90] Fix | Delete
],
[91] Fix | Delete
'user_can' => [
[92] Fix | Delete
'edit' => current_user_can( 'edit_post', $id ),
[93] Fix | Delete
],
[94] Fix | Delete
];
[95] Fix | Delete
}
[96] Fix | Delete
[97] Fix | Delete
return $recent;
[98] Fix | Delete
}
[99] Fix | Delete
}
[100] Fix | Delete
[101] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function