WordPress.org

Make WordPress Core

Ticket #24341: 24341.diff

File 24341.diff, 1.8 KB (added by kovshenin, 5 years 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 ) );