WP_Embed::get_embed_handler_html( array $attr, string $url )

Returns embed HTML for a given URL from embed handlers.

Description

Attempts to convert a URL into embed HTML by checking the URL against the regex of the registered embed handlers.

Parameters

$attr

(array) (Required) Shortcode attributes. Optional.

  • 'width'
    (int) Width of the embed in pixels.
  • 'height'
    (int) Height of the embed in pixels.

$url

(string) (Required) The URL attempting to be embedded.

Return

(string|false) The embed HTML on success, false otherwise.

Source

File: wp-includes/class-wp-embed.php

public function get_embed_handler_html( $attr, $url ) {
		$rawattr = $attr;
		$attr    = wp_parse_args( $attr, wp_embed_defaults( $url ) );

		ksort( $this->handlers );
		foreach ( $this->handlers as $priority => $handlers ) {
			foreach ( $handlers as $id => $handler ) {
				if ( preg_match( $handler['regex'], $url, $matches ) && is_callable( $handler['callback'] ) ) {
					$return = call_user_func( $handler['callback'], $matches, $attr, $url, $rawattr );
					if ( false !== $return ) {
						/**
						 * Filters the returned embed HTML.
						 *
						 * @since 2.9.0
						 *
						 * @see WP_Embed::shortcode()
						 *
						 * @param string|false $return The HTML result of the shortcode, or false on failure.
						 * @param string       $url    The embed URL.
						 * @param array        $attr   An array of shortcode attributes.
						 */
						return apply_filters( 'embed_handler_html', $return, $url, $attr );
					}
				}
			}
		}

		return false;
	}

Changelog

Version Description
5.5.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_embed/get_embed_handler_html