WordPress.org

Make WordPress Core

Ticket #24341: 24341.diff

File 24341.diff, 1.8 KB (added by kovshenin, 11 months ago)
  • wp-includes/media.php

     
    20762076                        if ( is_integer( $value ) ) { 
    20772077                                $url = wp_get_attachment_url( $value ); 
    20782078                                $shortcode = sprintf( '[%s src="%s"]', $type, $url ); 
    2079                         } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) ) { 
     2079                        } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value, $matches ) ) { 
     2080 
     2081                                // The [embed] shortcode is a special case. 
     2082                                if ( ! empty( $matches[2] ) && 'embed' == $matches[2] ) { 
     2083                                        $post->format_content[ $cache_key ] = $wp_embed->run_shortcode( $value ); 
     2084                                        return $post->format_content[ $cache_key ]; 
     2085                                } 
     2086 
    20802087                                $shortcode = $value; 
    20812088                        } elseif ( preg_match( '#<[^>]+>#', $value ) ) { 
    20822089                                $post->format_content[ $cache_key ] = $value; 
  • wp-admin/includes/post-formats.php

     
    8989                                        if ( is_numeric( $value ) ) { 
    9090                                                $video = wp_get_attachment_url( $value ); 
    9191                                                echo do_shortcode( sprintf( '[video src="%s"]', $video ) ); 
    92                                         } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) ) { 
    93                                                 echo do_shortcode( $value ); 
     92                                        } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value, $matches ) ) { 
     93 
     94                                                // The [embed] shortcode is a special case. 
     95                                                if ( ! empty( $matches[2] ) && 'embed' == $matches[2] ) 
     96                                                        echo $wp_embed->run_shortcode( $value ); 
     97                                                else 
     98                                                        echo do_shortcode( $value ); 
     99 
    94100                                        } elseif ( ! preg_match( '#<[^>]+>#', $value ) ) { 
    95101                                                if ( strstr( $value, home_url() ) ) 
    96102                                                        echo do_shortcode( sprintf( '[video src="%s"]', $value ) );