WP_REST_Server::embed_links( array $data )
Embeds the links from the data into the request.
Description
Parameters
- $data
-
(array) (Required) Data from the request.
Return
(array) Data with sub-requests embedded.
- '[$_links]'
(array) Links. - '[$_embedded]'
(array) Embeddeds.
Source
File: wp-includes/rest-api/class-wp-rest-server.php
protected function embed_links( $data ) { if ( empty( $data['_links'] ) ) { return $data; } $embedded = array(); foreach ( $data['_links'] as $rel => $links ) { $embeds = array(); foreach ( $links as $item ) { // Determine if the link is embeddable. if ( empty( $item['embeddable'] ) ) { // Ensure we keep the same order. $embeds[] = array(); continue; } // Run through our internal routing and serve. $request = WP_REST_Request::from_url( $item['href'] ); if ( ! $request ) { $embeds[] = array(); continue; } // Embedded resources get passed context=embed. if ( empty( $request['context'] ) ) { $request['context'] = 'embed'; } $response = $this->dispatch( $request ); /** This filter is documented in wp-includes/rest-api/class-wp-rest-server.php */ $response = apply_filters( 'rest_post_dispatch', rest_ensure_response( $response ), $this, $request ); $embeds[] = $this->response_to_data( $response, false ); } // Determine if any real links were found. $has_links = count( array_filter( $embeds ) ); if ( $has_links ) { $embedded[ $rel ] = $embeds; } } if ( ! empty( $embedded ) ) { $data['_embedded'] = $embedded; } return $data; }
Changelog
Version | Description |
---|---|
4.4.0 | Introduced. |