WordPress.org

Make WordPress Core

Ticket #24505: 24505.diff

File 24505.diff, 3.1 KB (added by kovshenin, 5 years ago)
  • wp-admin/includes/media.php

     
    23592359        <?php
    23602360        elseif ( $attachment_id && 0 === strpos( $post->post_mime_type, 'audio/' ) ):
    23612361
    2362                 echo do_shortcode( '[audio src="' . $att_url . '"]' );
     2362                echo wp_audio_shortcode( array( 'src' => $att_url ) );
    23632363
    23642364        elseif ( $attachment_id && 0 === strpos( $post->post_mime_type, 'video/' ) ):
    23652365
     
    23712371                if ( $h && $w < $meta['width'] )
    23722372                        $h = round( ( $meta['height'] * $w ) / $meta['width'] );
    23732373
    2374                 $shortcode = sprintf( '[video src="%s"%s%s]',
    2375                         $att_url,
    2376                         empty( $meta['width'] ) ? '' : sprintf( ' width="%d"', $w ),
    2377                         empty( $meta['height'] ) ? '' : sprintf( ' height="%d"', $h )
    2378                 );
    2379                 echo do_shortcode( $shortcode );
     2374                $attr = array( 'src' => $att_url );
    23802375
     2376                if ( ! empty( $meta['width' ] ) )
     2377                        $attr['width'] = $w;
     2378
     2379                if ( ! empty( $meta['height'] ) )
     2380                        $attr['height'] = $h;
     2381
     2382                echo wp_video_shortcode( $attr );
     2383
    23812384        endif; ?>
    23822385        </div>
    23832386        <div class="wp_attachment_details edit-form-section">
  • wp-includes/media.php

     
    20702070                $embed = reset( $embeds );
    20712071                if ( 0 === strpos( $embed, 'http' ) ) {
    20722072                        if ( strstr( $embed, home_url() ) ) {
    2073                                 $post->format_content[ $cache_key ] = do_shortcode( sprintf( '[%s src="%s"]', $type, $embed ) );
     2073
     2074                                $format_content = '';
     2075                                $attr = array( 'src' => $embed );
     2076
     2077                                if ( 'audio' == $type )
     2078                                        $format_content = wp_audio_shortcode( $attr );
     2079                                elseif ( 'video' == $type )
     2080                                        $format_content = wp_video_shortcode( $attr );
     2081
     2082                                $post->format_content[ $cache_key ] = $format_content;
    20742083                        } else {
    20752084                                $post->format_content[ $cache_key ] = $wp_embed->autoembed( $embed );
    20762085                        }
     
    20842093        if ( ! empty( $medias ) ) {
    20852094                $media = reset( $medias );
    20862095                $url = wp_get_attachment_url( $media->ID );
    2087                 $shortcode = sprintf( '[%s src="%s"]', $type, $url );
    2088                 $post->format_content[ $cache_key ] = do_shortcode( $shortcode );
     2096
     2097                $format_content = '';
     2098                $attr = array( 'src' => $url );
     2099
     2100                if ( 'audio' == $type )
     2101                        $format_content = wp_audio_shortcode( $attr );
     2102                elseif ( 'video' == $type )
     2103                        $format_content = wp_video_shortcode( $attr );
     2104
     2105                $post->format_content[ $cache_key ] = $format_content;
    20892106                return $post->format_content[ $cache_key ];
    20902107        }
    20912108
     
    21642181                        if ( 'caption' === $shortcode[2] ) {
    21652182                                $captions[] = $shortcode[0];
    21662183                                if ( $html )
    2167                                         $tags[] = do_shortcode( $shortcode[0] );
     2184                                        $tags[] = do_shortcode_tag( $shortcode );
    21682185                        }
    21692186
    21702187                        if ( $limit > 0 && count( $tags ) >= $limit )
     
    24102427                                        foreach ( $urls as $url ) {
    24112428                                                if ( strstr( $shortcode[0], $url ) ) {
    24122429                                                        if ( ! $matched )
    2413                                                                 $matched = do_shortcode( $shortcode[0] );
     2430                                                                $matched = do_shortcode_tag( $shortcode );
    24142431                                                        // $content = str_replace( $shortcode[0], '', $content, $count );
    24152432                                                }
    24162433                                        }