WP_REST_Server::response_to_data( WP_REST_Response $response, bool|string[] $embed )

Converts a response to data to send.

Parameters

$response

(WP_REST_Response) (Required) Response object.

$embed

(bool|string[]) (Required) Whether to embed all links, a filtered list of link relations, or no links.

Return

(array) Data with sub-requests embedded.

  • '_links'
    (array) Links.
  • '_embedded'
    (array) Embedded objects.

Source

File: wp-includes/rest-api/class-wp-rest-server.php

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;
	}

Changelog

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

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_rest_server/response_to_data