On this page
WP_REST_Widgets_Controller::get_items( WP_REST_Request $request ): WP_REST_Response|WP_Error
Retrieves a collection of widgets.
Parameters
$requestWP_REST_Request Required-
Full details about the request.
Return
WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
Source
File: wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php. View all references
public function get_items( $request ) {
$this->retrieve_widgets();
$prepared = array();
$permissions_check = $this->permissions_check( $request );
foreach ( wp_get_sidebars_widgets() as $sidebar_id => $widget_ids ) {
if ( isset( $request['sidebar'] ) && $sidebar_id !== $request['sidebar'] ) {
continue;
}
if ( is_wp_error( $permissions_check ) && ! $this->check_read_sidebar_permission( $sidebar_id ) ) {
continue;
}
foreach ( $widget_ids as $widget_id ) {
$response = $this->prepare_item_for_response( compact( 'sidebar_id', 'widget_id' ), $request );
if ( ! is_wp_error( $response ) ) {
$prepared[] = $this->prepare_response_for_collection( $response );
}
}
}
return new WP_REST_Response( $prepared );
}
Related
Uses
| Uses | Description |
|---|---|
| WP_REST_Widgets_Controller::retrieve_widgets() wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php | Looks for “lost” widgets once per request. |
| WP_REST_Widgets_Controller::check_read_sidebar_permission() wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php | Checks if a sidebar can be read publicly. |
| WP_REST_Widgets_Controller::prepare_item_for_response() wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php | Prepares the widget for the REST response. |
| WP_REST_Widgets_Controller::permissions_check() wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php | Performs a permissions check for managing widgets. |
| wp_get_sidebars_widgets() wp-includes/widgets.php | Retrieve full list of sidebars and their widget instance IDs. |
| is_wp_error() wp-includes/load.php | Checks whether the given variable is a WordPress Error. |
Changelog
| Version | Description |
|---|---|
| 5.8.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_rest_widgets_controller/get_items