Server IP : 209.38.156.173 / Your IP : 216.73.216.122 [ Web Server : Apache/2.4.52 (Ubuntu) System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.1.2-1ubuntu2.22 Disable Function : NONE Domains : 2 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/elementor-pro/modules/posts/data/ |
Upload File : |
<?php namespace ElementorPro\Modules\Posts\Data; use Elementor\Utils; use ElementorPro\Data\Base\Controller as Controller_Base; use ElementorPro\Plugin; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Controller extends Controller_Base { public function get_name() { return 'posts-widget'; } public function register_endpoints() { // There is only get items end point } public function get_items( $request ) { $document = Plugin::elementor()->documents->get( $request->get_param( 'post_id' ) ); if ( ! $document ) { return new \WP_Error( 'document_not_exist', __( 'Document doesn\'t exist', 'elementor-pro' ), [ 'status' => 404 ] ); } $element_data = $document->get_elements_data(); $posts_widget = Utils::find_element_recursive( $element_data, $request->get_param( 'element_id' ) ); if ( empty( $posts_widget ) ) { return new \WP_Error( 'Element_not_exist', __( 'Posts widget doesn\'t exist', 'elementor-pro' ), [ 'status' => 404 ] ); } set_query_var( 'paged', $request->get_param( 'page' ) ); /** @var \ElementorPro\Modules\Posts\Widgets\Posts $element_instance */ $element_instance = Plugin::elementor()->elements_manager->create_element_instance( $posts_widget ); ob_start(); $element_instance->render_content(); $html = ob_get_clean(); return [ 'content' => $html, ]; } public function get_permission_callback( $request ) { return true; } }