WP_REST_Block_Patterns_Controller::get_items
Retrieves all block patterns.
Method of the class: WP_REST_Block_Patterns_Controller{}
No Hooks.
Returns
WP_REST_Response|WP_Error. Response object on success, or WP_Error object on failure.
Usage
$WP_REST_Block_Patterns_Controller = new WP_REST_Block_Patterns_Controller(); $WP_REST_Block_Patterns_Controller->get_items( $request );
- $request(WP_REST_Request) (required)
- Full details about the request.
Changelog
| Since 6.0.0 | Introduced. |
| Since 6.2.0 | Added migration for old core pattern categories to the new ones. |
WP_REST_Block_Patterns_Controller::get_items() WP REST Block Patterns Controller::get items code WP 6.8.3
public function get_items( $request ) {
if ( ! $this->remote_patterns_loaded ) {
// Load block patterns from w.org.
_load_remote_block_patterns(); // Patterns with the `core` keyword.
_load_remote_featured_patterns(); // Patterns in the `featured` category.
_register_remote_theme_patterns(); // Patterns requested by current theme.
$this->remote_patterns_loaded = true;
}
$response = array();
$patterns = WP_Block_Patterns_Registry::get_instance()->get_all_registered();
foreach ( $patterns as $pattern ) {
$migrated_pattern = $this->migrate_pattern_categories( $pattern );
$prepared_pattern = $this->prepare_item_for_response( $migrated_pattern, $request );
$response[] = $this->prepare_response_for_collection( $prepared_pattern );
}
return rest_ensure_response( $response );
}