wppaste
WordPress

WP_REST_Widgets_Controller

Since
5.8.0
Source
wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php:17
Core class to access widgets via the REST API.

Compatibility

WordPress
since 5.8.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Hooks and filters fired · 5

Every hook that fires from inside WP_REST_Widgets_Controller, in the order it appears in the class, grouped by the method that fires it.

Properties · 2

$widgets_retrievedboolprotected
Tracks whether retrieve_widgets() has been called in the current request.
$allow_batcharrayprotected
Whether the controller supports batching.

Methods · 20

Source code

class WP_REST_Widgets_Controller extends WP_REST_Controller { 	/**	 * Tracks whether {@see retrieve_widgets()} has been called in the current request.	 *	 * @since 5.9.0	 * @var bool	 */	protected $widgets_retrieved = false; 	/**	 * Whether the controller supports batching.	 *	 * @since 5.9.0	 * @var array	 */	protected $allow_batch = array( 'v1' => true ); 	/**	 * Widgets controller constructor.	 *	 * @since 5.8.0	 */	public function __construct() {		$this->namespace = 'wp/v2';		$this->rest_base = 'widgets';	} 	/**	 * Registers the widget routes for the controller.	 *	 * @since 5.8.0	 */	public function register_routes() {		register_rest_route(			$this->namespace,			$this->rest_base,			array(				array(					'methods'             => WP_REST_Server::READABLE,					'callback'            => array( $this, 'get_items' ),					'permission_callback' => array( $this, 'get_items_permissions_check' ),					'args'                => $this->get_collection_params(),				),				array(					'methods'             => WP_REST_Server::CREATABLE,					'callback'            => array( $this, 'create_item' ),					'permission_callback' => array( $this, 'create_item_permissions_check' ),					'args'                => $this->get_endpoint_args_for_item_schema(),				),				'allow_batch' => $this->allow_batch,				'schema'      => array( $this, 'get_public_item_schema' ),			)		); 		register_rest_route(			$this->namespace,			$this->rest_base . '/(?P<id>[\w\-]+)',			array(				array(					'methods'             => WP_REST_Server::READABLE,					'callback'            => array( $this, 'get_item' ),					'permission_callback' => array( $this, 'get_item_permissions_check' ),					'args'                => array(						'context' => $this->get_context_param( array( 'default' => 'view' ) ),					),				),				array(					'methods'             => WP_REST_Server::EDITABLE,					'callback'            => array( $this, 'update_item' ),					'permission_callback' => array( $this, 'update_item_permissions_check' ),					'args'                => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ),				),				array(					'methods'             => WP_REST_Server::DELETABLE,					'callback'            => array( $this, 'delete_item' ),					'permission_callback' => array( $this, 'delete_item_permissions_check' ),					'args'                => array(						'force' => array(							'description' => __( 'Whether to force removal of the widget, or move it to the inactive sidebar.' ),

Changelog

Introduced in 5.8.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.1.0 tag, from src/wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.