WP_oEmbed::fetch( string $provider, string $url, string|array $args = '' ): object|false
Connects to an oEmbed provider and returns the result.
Parameters
-
$provider
string Required -
The URL to the oEmbed provider.
-
$url
string Required -
The URL to the content that is desired to be embedded.
-
$args
string|array Optional -
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:
''
Return
object|false The result in the form of an object on success, false on failure.
Source
File: wp-includes/class-wp-oembed.php
.
View all references
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. |