On this page
_oembed_rest_pre_serve_request( bool $served, WP_HTTP_Response $result, WP_REST_Request $request, WP_REST_Server $server ): true
This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
Hooks into the REST API output to print XML instead of JSON.
Description
This is only done for the oEmbed API endpoint, which supports both formats.
Parameters
$servedbool Required-
Whether the request has already been served.
$resultWP_HTTP_Response Required-
Result to send to the client. Usually a
WP_REST_Response. $requestWP_REST_Request Required-
Request used to generate the response.
$serverWP_REST_Server Required-
Server instance.
Return
true
Source
File: wp-includes/embed.php. View all references
function _oembed_rest_pre_serve_request( $served, $result, $request, $server ) {
$params = $request->get_params();
if ( '/oembed/1.0/embed' !== $request->get_route() || 'GET' !== $request->get_method() ) {
return $served;
}
if ( ! isset( $params['format'] ) || 'xml' !== $params['format'] ) {
return $served;
}
// Embed links inside the request.
$data = $server->response_to_data( $result, false );
if ( ! class_exists( 'SimpleXMLElement' ) ) {
status_header( 501 );
die( get_status_header_desc( 501 ) );
}
$result = _oembed_create_xml( $data );
// Bail if there's no XML.
if ( ! $result ) {
status_header( 501 );
return get_status_header_desc( 501 );
}
if ( ! headers_sent() ) {
$server->send_header( 'Content-Type', 'text/xml; charset=' . get_option( 'blog_charset' ) );
}
echo $result;
return true;
}
Related
Uses
| Uses | Description |
|---|---|
| _oembed_create_xml() wp-includes/embed.php | Creates an XML string from a given array. |
| status_header() wp-includes/functions.php | Sets HTTP status header. |
| get_status_header_desc() wp-includes/functions.php | Retrieves the description for the HTTP status. |
| get_option() wp-includes/option.php | Retrieves an option value based on an option name. |
Changelog
| Version | Description |
|---|---|
| 4.4.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/_oembed_rest_pre_serve_request