WP_REST_Server::response_to_data()publicWP 4.4.0

Converts a response to data to send.

Method of the class: WP_REST_Server{}

No Hooks.

Return

Array. Data with sub-requests embedded.

Usage

$WP_REST_Server = new WP_REST_Server();
$WP_REST_Server->response_to_data( $response, $embed );
$response(WP_REST_Response) (required)
Response object.
$embed(true|false|string[]) (required)
Whether to embed all links, a filtered list of link relations, or no links.

Changelog

Since 4.4.0 Introduced.
Since 5.4.0 The $embed parameter can now contain a list of link relations to include.

WP_REST_Server::response_to_data() code WP 6.5.2

public function response_to_data( $response, $embed ) {
	$data  = $response->get_data();
	$links = self::get_compact_response_links( $response );

	if ( ! empty( $links ) ) {
		// Convert links to part of the data.
		$data['_links'] = $links;
	}

	if ( $embed ) {
		$this->embed_cache = array();
		// Determine if this is a numeric array.
		if ( wp_is_numeric_array( $data ) ) {
			foreach ( $data as $key => $item ) {
				$data[ $key ] = $this->embed_links( $item, $embed );
			}
		} else {
			$data = $this->embed_links( $data, $embed );
		}
		$this->embed_cache = array();
	}

	return $data;
}