wppaste
WordPress

WP_oEmbed_Controller

Since
4.4.0
Source
wp-includes/class-wp-oembed-controller.php:18
oEmbed API endpoint controller.

Description

Registers the REST API route and delivers the response data.
The output format (XML or JSON) is handled by the REST API.

Compatibility

WordPress
since 4.4.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Hooks and filters fired · 4

Every hook that fires from inside WP_oEmbed_Controller, in the order it appears in the class, grouped by the method that fires it.

Methods · 4

Source code

#[AllowDynamicProperties]final class WP_oEmbed_Controller {	/**	 * Register the oEmbed REST API route.	 *	 * @since 4.4.0	 */	public function register_routes() {		/**		 * Filters the maxwidth oEmbed parameter.		 *		 * @since 4.4.0		 *		 * @param int $maxwidth Maximum allowed width. Default 600.		 */		$maxwidth = apply_filters( 'oembed_default_width', 600 ); 		register_rest_route(			'oembed/1.0',			'/embed',			array(				array(					'methods'             => WP_REST_Server::READABLE,					'callback'            => array( $this, 'get_item' ),					'permission_callback' => '__return_true',					'args'                => array(						'url'      => array(							'description' => __( 'The URL of the resource for which to fetch oEmbed data.' ),							'required'    => true,							'type'        => 'string',							'format'      => 'uri',						),						'format'   => array(							'default'           => 'json',							'sanitize_callback' => 'wp_oembed_ensure_format',						),						'maxwidth' => array(							'default'           => $maxwidth,							'sanitize_callback' => 'absint',						),					),				),			)		); 		register_rest_route(			'oembed/1.0',			'/proxy',			array(				array(					'methods'             => WP_REST_Server::READABLE,					'callback'            => array( $this, 'get_proxy_item' ),					'permission_callback' => array( $this, 'get_proxy_item_permissions_check' ),					'args'                => array(						'url'       => array(							'description' => __( 'The URL of the resource for which to fetch oEmbed data.' ),							'required'    => true,							'type'        => 'string',							'format'      => 'uri',						),						'format'    => array(							'description' => __( 'The oEmbed format to use.' ),							'type'        => 'string',							'default'     => 'json',							'enum'        => array(								'json',								'xml',							),						),						'maxwidth'  => array(							'description'       => __( 'The maximum width of the embed frame in pixels.' ),							'type'              => 'integer',							'default'           => $maxwidth,							'sanitize_callback' => 'absint',						),						'maxheight' => array(							'description'       => __( 'The maximum height of the embed frame in pixels.' ),							'type'              => 'integer',							'sanitize_callback' => 'absint',						),

Changelog

Introduced in 4.4.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.1.0 tag, from src/wp-includes/class-wp-oembed-controller.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.