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

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

$attrarrayrequired
Shortcode attributes. Optional.
  • width int
    Width of the embed in pixels.
  • height int
    Height of the embed in pixels.
$urlstringrequired
The URL attempting to be embedded.

Return

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

Source

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

Hooks

apply_filters( ’embed_handler_html’, string|false $return, string $url, array $attr )

Filters the returned embed HTML.

Changelog

VersionDescription
5.5.0Introduced.

User Contributed Notes

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