🔐 Sid Gifari File Manager Pro
v8.0.5 | 2026-06-19 04:19:11 | PHP 8.1.34
📂
/ (Root)
/
home
/
therahul
/
reenrihair.com
/
wp-content
/
plugins
/
elementor
/
modules
/
mcp
/
abilities
📍 /home/therahul/reenrihair.com/wp-content/plugins/elementor/modules/mcp/abilities
🔄 Refresh
✏️
Editing: list-pages-ability.php
Writable
<?php namespace Elementor\Modules\Mcp\Abilities; if ( ! defined( 'ABSPATH' ) ) { exit; } class List_Pages_Ability extends Abstract_Ability { protected function get_ability_id(): string { return 'elementor/list-pages'; } protected function get_definition(): Ability_Definition { return new Ability_Definition( __( 'List Elementor Pages', 'elementor' ), __( 'Returns pages and posts built with Elementor on this WordPress site. Each item includes ID, title, status (publish/draft), URL, and post type. Use this first to discover which pages exist before fetching their structure or modifying settings.', 'elementor' ), 'elementor', [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'id' => [ 'type' => 'integer' ], 'title' => [ 'type' => 'string' ], 'status' => [ 'type' => 'string' ], 'url' => [ 'type' => 'string' ], 'type' => [ 'type' => 'string' ], ], ], ], [ 'annotations' => [ 'readonly' => true, 'idempotent' => true, 'destructive' => false, ], ], function () { return current_user_can( 'edit_posts' ); }, [ 'type' => 'object', 'properties' => [ 'status' => [ 'type' => 'string', 'enum' => [ 'publish', 'draft', 'any' ], 'default' => 'any', ], 'post_type' => [ 'type' => 'string', 'description' => 'Filter by post type. Omit for all Elementor-supported types.', ], ], ] ); } public function execute( $input = [] ) { $input = is_array( $input ) ? $input : []; $args = [ 'post_type' => get_post_types_by_support( 'elementor' ), 'meta_key' => '_elementor_edit_mode', 'meta_value' => 'builder', 'post_status' => isset( $input['status'] ) ? $input['status'] : 'any', 'fields' => 'ids', 'posts_per_page' => -1, 'orderby' => 'date', 'order' => 'DESC', 'suppress_filters' => false, ]; if ( ! empty( $input['post_type'] ) ) { $args['post_type'] = sanitize_key( $input['post_type'] ); } $ids = get_posts( $args ); $ids = array_values( array_filter( array_map( 'absint', $ids ), function ( $id ) { return $id && current_user_can( 'edit_post', $id ); } ) ); return array_map( function ( $id ) { return [ 'id' => $id, 'title' => get_the_title( $id ), 'status' => get_post_status( $id ), 'url' => (string) get_permalink( $id ), 'type' => get_post_type( $id ), ]; }, $ids ); } }
💾 Save Changes
❌ Cancel