WordPress.org

Make WordPress Core

Ticket #45447: 45447.diff

File 45447.diff, 1.2 KB (added by swissspidy, 3 years ago)
  • src/wp-includes/class-wp-oembed-controller.php

    diff --git src/wp-includes/class-wp-oembed-controller.php src/wp-includes/class-wp-oembed-controller.php
    index 9efeb54ed0..0d183df76d 100644
    final class WP_oEmbed_Controller { 
    183183                $data = _wp_oembed_get_object()->get_data( $url, $args );
    184184
    185185                if ( false === $data ) {
     186                        // Try using a classic embed, instead.
     187                        global $wp_embed;
     188
     189                        /* @var WP_Embed $wp_embed */
     190                        $wp_embed->return_false_on_fail = true;
     191                        $html = $wp_embed->shortcode( array(), $_GET['url'] );
     192                        $wp_embed->return_false_on_fail = false;
     193
     194                        if ( $html ) {
     195                                global $wp_scripts;
     196                                // Check if any scripts were enqueued by the shortcode, and include them in the response.
     197                                $enqueued_scripts = array();
     198
     199                                foreach ( $wp_scripts->queue as $script ) {
     200                                        $enqueued_scripts[] = $wp_scripts->registered[ $script ]->src;
     201                                }
     202
     203                                return (object) array(
     204                                        'provider_name' => __( 'Embed Handler' ),
     205                                        'html'          => $html,
     206                                        'scripts'       => $enqueued_scripts,
     207                                );
     208                        }
     209
    186210                        return new WP_Error( 'oembed_invalid_url', get_status_header_desc( 404 ), array( 'status' => 404 ) );
    187211                }
    188212