get_oembed_response_data_for_url( string $url, array $args )
Retrieves the oEmbed response data for a given URL.
Description Description
Parameters Parameters
- $url
-
(string) (Required) The URL that should be inspected for discovery
<link>
tags. - $args
-
(array) (Required) oEmbed remote get arguments.
Return Return
(object|false) oEmbed response data if the URL does belong to the current site. False otherwise.
Source Source
File: wp-includes/embed.php
function get_oembed_response_data_for_url( $url, $args ) { $switched_blog = false; if ( is_multisite() ) { $url_parts = wp_parse_args( wp_parse_url( $url ), array( 'host' => '', 'path' => '/', ) ); $qv = array( 'domain' => $url_parts['host'], 'path' => '/', 'update_site_meta_cache' => false, ); // In case of subdirectory configs, set the path. if ( ! is_subdomain_install() ) { $path = explode( '/', ltrim( $url_parts['path'], '/' ) ); $path = reset( $path ); if ( $path ) { $qv['path'] = get_network()->path . $path . '/'; } } $sites = get_sites( $qv ); $site = reset( $sites ); if ( $site && (int) $site->blog_id !== get_current_blog_id() ) { switch_to_blog( $site->blog_id ); $switched_blog = true; } } $post_id = url_to_postid( $url ); /** This filter is documented in wp-includes/class-wp-oembed-controller.php */ $post_id = apply_filters( 'oembed_request_post_id', $post_id, $url ); if ( ! $post_id ) { if ( $switched_blog ) { restore_current_blog(); } return false; } $width = isset( $args['width'] ) ? $args['width'] : 0; $data = get_oembed_response_data( $post_id, $width ); if ( $switched_blog ) { restore_current_blog(); } return $data ? (object) $data : false; }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
5.0.0 | Introduced. |