WP_REST_Pattern_Directory_Controller::prepare_item_for_response()
Prepare a raw block pattern before it gets output in a REST API response.
Method of the class: WP_REST_Pattern_Directory_Controller{}
Hooks from the method
Return
WP_REST_Response
.
Usage
$WP_REST_Pattern_Directory_Controller = new WP_REST_Pattern_Directory_Controller(); $WP_REST_Pattern_Directory_Controller->prepare_item_for_response( $item, $request );
- $item(object) (required)
- Raw pattern from api.wordpress.org, before any changes.
- $request(WP_REST_Request) (required)
- Request object.
Changelog
Since 5.8.0 | Introduced. |
Since 5.9.0 | Renamed $raw_pattern to $item to match parent class for PHP 8 named parameter support. |
WP_REST_Pattern_Directory_Controller::prepare_item_for_response() WP REST Pattern Directory Controller::prepare item for response code WP 6.3
public function prepare_item_for_response( $item, $request ) { // Restores the more descriptive, specific name for use within this method. $raw_pattern = $item; $prepared_pattern = array( 'id' => absint( $raw_pattern->id ), 'title' => sanitize_text_field( $raw_pattern->title->rendered ), 'content' => wp_kses_post( $raw_pattern->pattern_content ), 'categories' => array_map( 'sanitize_title', $raw_pattern->category_slugs ), 'keywords' => array_map( 'sanitize_text_field', explode( ',', $raw_pattern->meta->wpop_keywords ) ), 'description' => sanitize_text_field( $raw_pattern->meta->wpop_description ), 'viewport_width' => absint( $raw_pattern->meta->wpop_viewport_width ), 'block_types' => array_map( 'sanitize_text_field', $raw_pattern->meta->wpop_block_types ), ); $prepared_pattern = $this->add_additional_fields_to_object( $prepared_pattern, $request ); $response = new WP_REST_Response( $prepared_pattern ); /** * Filters the REST API response for a block pattern. * * @since 5.8.0 * * @param WP_REST_Response $response The response object. * @param object $raw_pattern The unprepared block pattern. * @param WP_REST_Request $request The request object. */ return apply_filters( 'rest_prepare_block_pattern', $response, $raw_pattern, $request ); }