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

Wraps the response in an envelope.


The enveloping technique is used to work around browser/client compatibility issues. Essentially, it converts the full HTTP response to data instead.

Top ↑



(WP_REST_Response) (Required) Response object.


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

Top ↑


(WP_REST_Response) New response with wrapped data

Top ↑


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

	public function envelope_response( $response, $embed ) {
		$envelope = array(
			'body'    => $this->response_to_data( $response, $embed ),
			'status'  => $response->get_status(),
			'headers' => $response->get_headers(),

		 * Filters the enveloped form of a REST API response.
		 * @since 4.4.0
		 * @param array            $envelope {
		 *     Envelope data.
		 *     @type array $body    Response data.
		 *     @type int   $status  The 3-digit HTTP status code.
		 *     @type array $headers Map of header name to header value.
		 * }
		 * @param WP_REST_Response $response Original response data.
		$envelope = apply_filters( 'rest_envelope_response', $envelope, $response );

		// Ensure it's still a response and return.
		return rest_ensure_response( $envelope );

Top ↑


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

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.