WP_Embed::get_embed_handler_html()publicWP 5.5.0

Returns embed HTML for a given URL from embed handlers.

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

Method of the class: WP_Embed{}

Hooks from the method

Return

String|false. The embed HTML on success, false otherwise.

Usage

global $wp_embed;
$wp_embed->get_embed_handler_html( $attr, $url );
$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.

Changelog

Since 5.5.0 Introduced.

WP_Embed::get_embed_handler_html() code WP 6.5.2

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;
}