WP_REST_Search_Controller::prepare_item_for_response()
Prepares a single search result for response.
Method of the class: WP_REST_Search_Controller{}
No Hooks.
Return
WP_REST_Response
. Response object.
Usage
$WP_REST_Search_Controller = new WP_REST_Search_Controller(); $WP_REST_Search_Controller->prepare_item_for_response( $item, $request );
- $item(int|string) (required)
- ID of the item to prepare.
- $request(WP_REST_Request) (required)
- Request object.
Changelog
Since 5.0.0 | Introduced. |
Since 5.6.0 | The $id parameter can accept a string. |
Since 5.9.0 | Renamed $id to $item to match parent class for PHP 8 named parameter support. |
WP_REST_Search_Controller::prepare_item_for_response() WP REST Search 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. $item_id = $item; $handler = $this->get_search_handler( $request ); if ( is_wp_error( $handler ) ) { return new WP_REST_Response(); } $fields = $this->get_fields_for_response( $request ); $data = $handler->prepare_item( $item_id, $fields ); $data = $this->add_additional_fields_to_object( $data, $request ); $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; $data = $this->filter_response_by_context( $data, $context ); $response = rest_ensure_response( $data ); if ( rest_is_field_included( '_links', $fields ) || rest_is_field_included( '_embedded', $fields ) ) { $links = $handler->prepare_item_links( $item_id ); $links['collection'] = array( 'href' => rest_url( sprintf( '%s/%s', $this->namespace, $this->rest_base ) ), ); $response->add_links( $links ); } return $response; }