WP_oEmbed::get_provider( string $url, string|array $args = '' ): string|false
Takes a URL and returns the corresponding oEmbed provider’s URL, if there is one.
Contents
Description
See also
Parameters
-
$url
string Required -
The URL to the content.
-
$args
string|array Optional -
Additional provider arguments.
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
string|false The oEmbed provider URL on success, false on failure.
Source
File: wp-includes/class-wp-oembed.php
.
View all references
public function get_provider( $url, $args = '' ) {
$args = wp_parse_args( $args );
$provider = false;
if ( ! isset( $args['discover'] ) ) {
$args['discover'] = true;
}
foreach ( $this->providers as $matchmask => $data ) {
list( $providerurl, $regex ) = $data;
// Turn the asterisk-type provider URLs into regex.
if ( ! $regex ) {
$matchmask = '#' . str_replace( '___wildcard___', '(.+)', preg_quote( str_replace( '*', '___wildcard___', $matchmask ), '#' ) ) . '#i';
$matchmask = preg_replace( '|^#http\\\://|', '#https?\://', $matchmask );
}
if ( preg_match( $matchmask, $url ) ) {
$provider = str_replace( '{format}', 'json', $providerurl ); // JSON is easier to deal with than XML.
break;
}
}
if ( ! $provider && $args['discover'] ) {
$provider = $this->discover( $url );
}
return $provider;
}
Changelog
Version | Description |
---|---|
4.0.0 | Introduced. |