WP_oEmbed::get_provider( string $url, string|array $args = '' )

Takes a URL and returns the corresponding oEmbed provider’s URL, if there is one.


Description

See also


Parameters

$url

(string) (Required) The URL to the content.

$args

(string|array) (Optional) provider arguments.

Default value: ''


Return

(false|string) False on failure, otherwise the oEmbed provider URL.


Source

File: wp-includes/class-oembed.php

	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

Changelog
Version Description
WP-4.0.0 Introduced.