X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/e8f61417994be715a90671aa87f1cd70d8ba132a..4feeb71a9d812a9ae371c28a3d8b442a4394ded7:/wp-includes/class-oembed.php?ds=sidebyside diff --git a/wp-includes/class-oembed.php b/wp-includes/class-oembed.php index 909524bc..3e19f3ba 100644 --- a/wp-includes/class-oembed.php +++ b/wp-includes/class-oembed.php @@ -315,10 +315,32 @@ class WP_oEmbed { * @return false|string False on failure, otherwise the UNSANITIZED (and potentially unsafe) HTML that should be used to embed. */ public function get_html( $url, $args = '' ) { + /** + * Filters the oEmbed result before any HTTP requests are made. + * + * This allows one to short-circuit the default logic, perhaps by + * replacing it with a routine that is more optimal for your setup. + * + * Passing a non-null value to the filter will effectively short-circuit retrieval, + * returning the passed value instead. + * + * @since 4.5.3 + * + * @param null|string $result The UNSANITIZED (and potentially unsafe) HTML that should be used to embed. Default null. + * @param string $url The URL to the content that should be attempted to be embedded. + * @param array $args Optional. Arguments, usually passed from a shortcode. Default empty. + */ + $pre = apply_filters( 'pre_oembed_result', null, $url, $args ); + + if ( null !== $pre ) { + return $pre; + } + $provider = $this->get_provider( $url, $args ); - if ( !$provider || false === $data = $this->fetch( $provider, $url, $args ) ) + if ( ! $provider || false === $data = $this->fetch( $provider, $url, $args ) ) { return false; + } /** * Filter the HTML returned by the oEmbed provider.