Connects to an oEmbed provider and returns the result.
Parameters
$provider
stringrequired- The URL to the oEmbed provider.
$url
stringrequired- The URL to the content that is desired to be embedded.
$args
string|arrayoptional- Additional arguments for retrieving embed HTML.
See wp_oembed_get() for accepted arguments.More Arguments from wp_oembed_get( … $args )
Additional arguments for retrieving embed HTML.
width
int|stringOptional. Themaxwidth
value passed to the provider URL.height
int|stringOptional. Themaxheight
value passed to the provider URL.discover
boolOptional. Determines whether to attempt to discover link tags at the given URL for an oEmbed provider when the provider URL is not found in the built-in providers list. Default true.
Default:
''
Source
public function fetch( $provider, $url, $args = '' ) {
$args = wp_parse_args( $args, wp_embed_defaults( $url ) );
$provider = add_query_arg( 'maxwidth', (int) $args['width'], $provider );
$provider = add_query_arg( 'maxheight', (int) $args['height'], $provider );
$provider = add_query_arg( 'url', urlencode( $url ), $provider );
$provider = add_query_arg( 'dnt', 1, $provider );
/**
* Filters the oEmbed URL to be fetched.
*
* @since 2.9.0
* @since 4.9.0 The `dnt` (Do Not Track) query parameter was added to all oEmbed provider URLs.
*
* @param string $provider URL of the oEmbed provider.
* @param string $url URL of the content to be embedded.
* @param array $args Optional. Additional arguments for retrieving embed HTML.
* See wp_oembed_get() for accepted arguments. Default empty.
*/
$provider = apply_filters( 'oembed_fetch_url', $provider, $url, $args );
foreach ( array( 'json', 'xml' ) as $format ) {
$result = $this->_fetch_with_format( $provider, $format );
if ( is_wp_error( $result ) && 'not-implemented' === $result->get_error_code() ) {
continue;
}
return ( $result && ! is_wp_error( $result ) ) ? $result : false;
}
return false;
}
Hooks
- apply_filters( ‘oembed_fetch_url’,
string $provider ,string $url ,array $args ) Filters the oEmbed URL to be fetched.
Changelog
Version | Description |
---|---|
2.9.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.