On this page
WP_oEmbed::fetch( string $provider, string $url, string|array $args = '' ): object|false
Connects to a oEmbed provider and returns the result.
Parameters
$providerstring Required-
The URL to the oEmbed provider.
$urlstring Required-
The URL to the content that is desired to be embedded.
$argsstring|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.
widthint|stringOptional. Themaxwidthvalue passed to the provider URL.heightint|stringOptional. Themaxheightvalue passed to the provider URL.discoverboolOptional. 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.
Related
Uses
| Uses | Description |
|---|---|
| WP_oEmbed::_fetch_with_format() wp-includes/class-wp-oembed.php | Fetches result from an oEmbed provider for a specific format and complete provider URL |
| wp_embed_defaults() wp-includes/embed.php | Creates default array of embed parameters. |
| wp_parse_args() wp-includes/functions.php | Merges user defined arguments into defaults array. |
| add_query_arg() wp-includes/functions.php | Retrieves a modified URL query string. |
| apply_filters() wp-includes/plugin.php | Calls the callback functions that have been added to a filter hook. |
| is_wp_error() wp-includes/load.php | Checks whether the given variable is a WordPress Error. |
Used By
| Used By | Description |
|---|---|
| WP_oEmbed::get_data() wp-includes/class-wp-oembed.php | Takes a URL and attempts to return the oEmbed data. |
Changelog
| Version | Description |
|---|---|
| 2.9.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_oembed/fetch