WP_REST_Block_Patterns_Controller::prepare_item_for_response()publicWP 6.0.0

Prepare a raw block pattern before it gets output in a REST API response.

Method of the class: WP_REST_Block_Patterns_Controller{}

No Hooks.

Return

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->prepare_item_for_response( $item, $request );
$item(array) (required)
Raw pattern as registered, before any changes.
$request(WP_REST_Request) (required)
Request object.

Changelog

Since 6.0.0 Introduced.
Since 6.3.0 Added source property.

WP_REST_Block_Patterns_Controller::prepare_item_for_response() code WP 6.5.2

public function prepare_item_for_response( $item, $request ) {
	$fields = $this->get_fields_for_response( $request );
	$keys   = array(
		'name'          => 'name',
		'title'         => 'title',
		'content'       => 'content',
		'description'   => 'description',
		'viewportWidth' => 'viewport_width',
		'inserter'      => 'inserter',
		'categories'    => 'categories',
		'keywords'      => 'keywords',
		'blockTypes'    => 'block_types',
		'postTypes'     => 'post_types',
		'templateTypes' => 'template_types',
		'source'        => 'source',
	);
	$data   = array();
	foreach ( $keys as $item_key => $rest_key ) {
		if ( isset( $item[ $item_key ] ) && rest_is_field_included( $rest_key, $fields ) ) {
			$data[ $rest_key ] = $item[ $item_key ];
		}
	}

	$context = ! empty( $request['context'] ) ? $request['context'] : 'view';
	$data    = $this->add_additional_fields_to_object( $data, $request );
	$data    = $this->filter_response_by_context( $data, $context );
	return rest_ensure_response( $data );
}