WP_oEmbed::fetch()
Connects to an oEmbed provider and returns the result.
Method of the class: WP_oEmbed{}
Hooks from the method
Return
Object|false
. The result in the form of an object on success, false on failure.
Usage
$WP_oEmbed = new WP_oEmbed(); $WP_oEmbed->fetch( $provider, $url, $args );
- $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)
- Additional arguments for retrieving embed HTML. See wp_oembed_get() for accepted arguments.
Default: ''
Changelog
Since 2.9.0 | Introduced. |
WP_oEmbed::fetch() WP oEmbed::fetch code WP 6.8
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; }