WP_oEmbed::fetch( string $provider, string $url, array|string $args = '' )
Connects to a oEmbed provider and returns the result.
Description Description
Parameters 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
-
(array|string) (Optional) Arguments, usually passed from a shortcode.
Default value: ''
Return Return
(false|object) False on failure, otherwise the result in the form of an object.
Source Source
File: wp-includes/class-wp-oembed.php
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 arguments, usually passed from a shortcode.
*/
$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;
}
Expand full source code Collapse full source code View on Trac
Changelog Changelog
| Version | Description |
|---|---|
| 2.9.0 | Introduced. |