WP_oEmbed_Controller::get_item( WP_REST_Request $request ): array|WP_Error

Callback for the embed API endpoint.

Description

Returns the JSON object for the post.

Parameters

$requestWP_REST_Requestrequired
Full data about the request.

Return

array|WP_Error oEmbed response data or WP_Error on failure.

Source

public function get_item( $request ) {
	$post_id = url_to_postid( $request['url'] );

	/**
	 * Filters the determined post ID.
	 *
	 * @since 4.4.0
	 *
	 * @param int    $post_id The post ID.
	 * @param string $url     The requested URL.
	 */
	$post_id = apply_filters( 'oembed_request_post_id', $post_id, $request['url'] );

	$data = get_oembed_response_data( $post_id, $request['maxwidth'] );

	if ( ! $data ) {
		return new WP_Error( 'oembed_invalid_url', get_status_header_desc( 404 ), array( 'status' => 404 ) );
	}

	return $data;
}

Hooks

apply_filters( ‘oembed_request_post_id’, int $post_id, string $url )

Filters the determined post ID.

Changelog

VersionDescription
4.4.0Introduced.

User Contributed Notes

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