WordPress.org

Make WordPress Core

Ticket #24010: 24010.4.diff

File 24010.4.diff, 19.7 KB (added by wonderboymusic, 12 months ago)
  • wp-admin/includes/post-formats.php

    diff --git wp-admin/includes/post-formats.php wp-admin/includes/post-formats.php
    index 1ea5b34..ce65f62 100644
    $format_meta = get_post_format_meta( $post_ID ); 
    1111 
    1212        <div class="field wp-format-quote"> 
    1313                <label for="wp_format_quote"><?php _e( 'Quote' ); ?></label> 
    14                 <textarea id="wp_format_quote" name="_wp_format_quote" class="widefat"><?php echo esc_textarea( $format_meta['quote'] ); ?></textarea> 
     14                <textarea id="wp_format_quote" name="_format_quote" class="widefat"><?php echo esc_textarea( $format_meta['quote'] ); ?></textarea> 
    1515        </div> 
    1616 
    1717        <div class="field wp-format-quote"> 
    1818                <label for="wp_format_quote_source"><?php _e( 'Quote source' ); ?></label> 
    19                 <input type="text" id="wp_format_quote_source" name="_wp_format_quote_source" value="<?php echo esc_attr( $format_meta['quote_source'] ); ?>" class="widefat" /> 
     19                <input type="text" id="wp_format_quote_source" name="_format_quote_source_name" value="<?php echo esc_attr( $format_meta['quote_source_name'] ); ?>" class="widefat" /> 
    2020        </div> 
    2121 
    2222        <div class="field wp-format-image"> 
    23                 <?php if ( ! empty( $format_meta['image'] ) ) : ?> 
     23                <?php if ( ! empty( $format_meta['image'] ) ) : 
     24                        $value = $format_meta['image']; 
     25                ?> 
    2426                <div id="image-preview" class="wp-format-media-preview"> 
    2527                        <?php 
    26                                 if ( is_numeric( $format_meta['image'] ) ) { 
    27                                         $format_meta['image'] = absint( $format_meta['image'] ); 
     28                                if ( is_numeric( $value ) ) { 
     29                                        $format_meta['image'] = absint( $value ); 
    2830                                        $image = wp_get_attachment_url( $format_meta['image'] ); 
    2931                                        printf( '<img src="%s" alt="%s" />', esc_url( $image ), get_the_title( $format_meta['image'] ) ); 
    30                                 } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $format_meta['image'] ) ) { 
    31                                         echo do_shortcode( $format_meta['image'] ); 
    32                                 } elseif ( ! preg_match( '#<[^>]+>#', $format_meta['image'] ) ) { 
    33                                         printf( '<img src="%s" alt="" />', esc_url( $format_meta['image'] ) ); 
     32                                } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) ) { 
     33                                        echo do_shortcode( $value ); 
     34                                } elseif ( ! preg_match( '#<[^>]+>#', $value ) ) { 
     35                                        printf( '<img src="%s" alt="" />', esc_url( $value ) ); 
    3436                                } else { 
    35                                         echo $format_meta['image']; 
     37                                        echo $value; 
    3638                                } 
    3739                        ?> 
    3840                </div> 
    $format_meta = get_post_format_meta( $post_ID ); 
    4345                        else 
    4446                                _e( 'Image URL' ); 
    4547                ?></label> 
    46                 <textarea id="wp_format_image" type="text" name="_wp_format_image" class="widefat"><?php esc_html_e( $format_meta['image'] ); ?></textarea> 
     48                <textarea id="wp_format_image" type="text" name="_format_image" class="widefat"><?php esc_html_e( $format_meta['image'] ); ?></textarea> 
    4749                <div data-format="image" class="wp-format-media-holder hide-if-no-js"> 
    4850                        <a href="#" class="wp-format-media-select" 
    4951                                data-choose="<?php esc_attr_e( 'Choose an Image' ); ?>" 
    $format_meta = get_post_format_meta( $post_ID ); 
    5355                </div> 
    5456        </div> 
    5557 
    56         <div class="field wp-format-link wp-format-quote wp-format-image"> 
    57                 <label for="wp_format_url"><?php _e( 'Link URL' ); ?></label> 
    58                 <input type="text" id="wp_format_url" name="_wp_format_url" value="<?php echo esc_url( $format_meta['url'] ); ?>" class="widefat" /> 
     58        <div class="field wp-format-link"> 
     59                <label for="wp_format_link_url"><?php _e( 'Link URL' ); ?></label> 
     60                <input type="text" id="wp_format_link_url" name="_format_link_url" value="<?php echo esc_url( $format_meta['link_url'] ); ?>" class="widefat" /> 
     61        </div> 
     62 
     63        <div class="field wp-format-quote"> 
     64                <label for="wp_format_quote_source_url"><?php _e( 'Link URL' ); ?></label> 
     65                <input type="text" id="wp_format_quote_source_url" name="_format_quote_source_url" value="<?php echo esc_url( $format_meta['quote_source_url'] ); ?>" class="widefat" /> 
     66        </div> 
     67 
     68        <div class="field wp-format-image"> 
     69                <label for="wp_format_image_url"><?php _e( 'Link URL' ); ?></label> 
     70                <input type="text" id="wp_format_image_url" name="_format_url" value="<?php echo esc_url( $format_meta['url'] ); ?>" class="widefat" /> 
    5971        </div> 
    6072 
    6173        <div class="field wp-format-video"> 
    62                 <?php if ( ! empty( $format_meta['video'] ) ): ?> 
     74                <?php if ( ! empty( $format_meta['video_embed'] ) ): 
     75                        $value = $format_meta['video_embed']; 
     76                ?> 
    6377                <div id="video-preview" class="wp-format-media-preview"> 
    6478                        <?php 
    65                                 if ( is_numeric( $format_meta['video'] ) ) { 
    66                                         $url = wp_get_attachment_url( $format_meta['video'] ); 
     79                                if ( is_numeric( $value ) ) { 
     80                                        $url = wp_get_attachment_url( $value ); 
    6781                                        echo do_shortcode( sprintf( '[video src="%s"]', $url ) ); 
    68                                 } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $format_meta['video'] ) ) { 
    69                                         echo do_shortcode( $format_meta['video'] ); 
    70                                 } elseif ( ! preg_match( '#<[^>]+>#', $format_meta['video'] ) ) { 
    71                                         if ( strstr( $format_meta['video'], home_url() ) ) 
    72                                                 echo do_shortcode( sprintf( '[video src="%s"]', $format_meta['video'] ) ); 
     82                                } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) ) { 
     83                                        echo do_shortcode( $value ); 
     84                                } elseif ( ! preg_match( '#<[^>]+>#', $value ) ) { 
     85                                        if ( strstr( $value, home_url() ) ) 
     86                                                echo do_shortcode( sprintf( '[video src="%s"]', $value ) ); 
    7387                                        else 
    74                                                 echo $wp_embed->autoembed( $format_meta['video'] ); 
     88                                                echo $wp_embed->autoembed( $value ); 
    7589                                } else { 
    76                                         echo $format_meta['video']; 
     90                                        echo $value; 
    7791                                } 
    7892                        ?> 
    7993                </div> 
    $format_meta = get_post_format_meta( $post_ID ); 
    8498                        else 
    8599                                _e( 'Video URL' ); 
    86100                ?></label> 
    87                 <textarea id="wp_format_video" type="text" name="_wp_format_video" class="widefat"><?php esc_html_e( $format_meta['video'] ); ?></textarea> 
     101                <textarea id="wp_format_video" type="text" name="_format_video" class="widefat"><?php esc_html_e( $format_meta['video_embed'] ); ?></textarea> 
    88102                <div data-format="video" class="wp-format-media-holder hide-if-no-js"> 
    89103                        <a href="#" class="wp-format-media-select" 
    90104                                data-choose="<?php esc_attr_e( 'Choose a Video' ); ?>" 
    $format_meta = get_post_format_meta( $post_ID ); 
    95109        </div> 
    96110 
    97111        <div class="field wp-format-audio"> 
    98                 <?php if ( ! empty( $format_meta['audio'] ) ): ?> 
     112                <?php if ( ! empty( $format_meta['audio_embed'] ) ): 
     113                        $value = $format_meta['audio_embed']; 
     114                ?> 
    99115                <div id="audio-preview" class="wp-format-media-preview"> 
    100116                        <?php 
    101                                 if ( is_numeric( $format_meta['audio'] ) ) { 
    102                                         $url = wp_get_attachment_url( $format_meta['audio'] ); 
     117                                if ( is_numeric( $value ) ) { 
     118                                        $url = wp_get_attachment_url( $value ); 
    103119                                        echo do_shortcode( sprintf( '[audio src="%s"]', $url ) ); 
    104                                 } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $format_meta['audio'] ) ) { 
    105                                         echo do_shortcode( $format_meta['audio'] ); 
    106                                 } elseif ( ! preg_match( '#<[^>]+>#', $format_meta['audio'] ) ) { 
    107                                         if ( strstr( $format_meta['audio'], home_url() ) ) 
    108                                                 echo do_shortcode( sprintf( '[audio src="%s"]', $format_meta['audio'] ) ); 
     120                                } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) ) { 
     121                                        echo do_shortcode( $value ); 
     122                                } elseif ( ! preg_match( '#<[^>]+>#', $value ) ) { 
     123                                        if ( strstr( $value, home_url() ) ) 
     124                                                echo do_shortcode( sprintf( '[audio src="%s"]', $value ) ); 
    109125                                        else 
    110                                                 echo $wp_embed->autoembed( $format_meta['audio'] ); 
     126                                                echo $wp_embed->autoembed( $value ); 
    111127                                } else { 
    112                                         echo $format_meta['audio']; 
     128                                        echo $value; 
    113129                                } 
    114130                        ?> 
    115131                </div> 
    $format_meta = get_post_format_meta( $post_ID ); 
    120136                        else 
    121137                                _e( 'Audio URL' ); 
    122138                ?></label> 
    123                 <textarea id="wp_format_audio" name="_wp_format_audio" class="widefat"><?php esc_html_e( $format_meta['audio'] ); ?></textarea> 
     139                <textarea id="wp_format_audio" name="_format_audio" class="widefat"><?php esc_html_e( $format_meta['audio_embed'] ); ?></textarea> 
    124140                <div data-format="audio" class="wp-format-media-holder hide-if-no-js"> 
    125141                        <a href="#" class="wp-format-media-select" data-choose="<?php esc_attr_e( 'Choose Audio' ); ?>" data-update="<?php esc_attr_e( 'Select Audio' ); ?>"> 
    126142                                <?php _e( 'Select Audio From Media Library' ) ?> 
  • wp-admin/includes/post.php

    diff --git wp-admin/includes/post.php wp-admin/includes/post.php
    index 1b5ff0e..07509f9 100644
    function edit_post( $post_data = null ) { 
    192192        } 
    193193 
    194194        // Post Formats 
    195         if ( isset( $post_data['post_format'] ) ) { 
     195        if ( isset( $post_data['post_format'] ) ) 
    196196                set_post_format( $post_ID, $post_data['post_format'] ); 
    197         } 
    198197 
    199         if ( isset( $post_data[ '_wp_format_url' ] ) ) { 
    200                 update_post_meta( $post_ID, '_wp_format_url', wp_slash( esc_url_raw( wp_unslash( $post_data['_wp_format_url'] ) ) ) ); 
     198        $format_meta_urls = array( 'url', 'link_url', 'quote_source_url' ); 
     199        foreach ( $format_meta_urls as $format_meta_url ) { 
     200                $keyed = '_format_' . $format_meta_url; 
     201                if ( isset( $post_data[ $keyed ] ) ) 
     202                        update_post_meta( $post_ID, $keyed, wp_slash( esc_url_raw( wp_unslash( $post_data[ $keyed ] ) ) ) ); 
    201203        } 
    202204 
    203         $format_keys = array( 'quote', 'quote_source', 'image', 'gallery', 'audio', 'video' ); 
     205        $format_keys = array( 'quote', 'quote_source_name', 'image', 'gallery', 'audio_embed', 'video_embed' ); 
    204206 
    205207        foreach ( $format_keys as $key ) { 
    206                 if ( isset( $post_data[ '_wp_format_' . $key ] ) ) { 
     208                $keyed = '_format_' . $key; 
     209                if ( isset( $post_data[ $keyed ] ) ) { 
    207210                        if ( current_user_can( 'unfiltered_html' ) ) 
    208                                 update_post_meta( $post_ID, '_wp_format_' . $key, $post_data[ '_wp_format_' . $key ] ); 
     211                                update_post_meta( $post_ID, $keyed, $post_data[ $keyed ] ); 
    209212                        else 
    210                                 update_post_meta( $post_ID, '_wp_format_' . $key, wp_filter_post_kses( $post_data[ '_wp_format_' . $key ] ) ); 
     213                                update_post_meta( $post_ID, $keyed, wp_filter_post_kses( $post_data[ $keyed ] ) ); 
    211214                } 
    212215        } 
    213216 
  • wp-admin/js/post-formats.js

    diff --git wp-admin/js/post-formats.js wp-admin/js/post-formats.js
    index f0a601a..4c9e0ec 100644
     
    11window.wp = window.wp || {}; 
    22 
    33(function($) { 
    4         var container, mediaFrame, lastMimeType, lastMenu, mediaPreview, 
    5             noUIFormats = ['standard', 'chat', 'status', 'aside', 'gallery'], 
    6             $container = $( '.post-formats-fields' ); 
     4        var container, mediaFrame, lastMimeType, mediaPreview, 
     5                noUIFormats = ['standard', 'chat', 'status', 'aside', 'gallery'], 
     6                $container = $( '.post-formats-fields' ); 
    77 
    88        function switchFormatClass( format ) { 
    99                container.get(0).className = container.get(0).className.replace( /\bwp-format-[^ ]+/g, '' ); 
    window.wp = window.wp || {}; 
    7575                // Media selection 
    7676                $('.wp-format-media-select').click(function(event) { 
    7777                        event.preventDefault(); 
    78                         var $el = $(this), mime, 
    79                             $holder = $el.closest('.wp-format-media-holder'), 
    80                             $field = $( '#wp_format_' + $holder.data('format') ); 
     78                        var $el = $(this), mime = 'image', 
     79                                $holder = $el.closest('.wp-format-media-holder'), 
     80                                $field = $( '#wp_format_' + $holder.data('format') ); 
    8181 
    8282                        mime = $holder.data('format'); 
    8383 
  • wp-includes/js/autosave.js

    diff --git wp-includes/js/autosave.js wp-includes/js/autosave.js
    index 566da2d..fdc92f1 100644
    wp.autosave.getPostData = function() { 
    367367        post_format = $('#post_format').val() || ''; 
    368368        data['post_format'] = post_format == 'standard' ? '' : post_format; 
    369369 
    370         $('.post-formats-fields').find('input[name^="_wp_format_"], textarea[name^="_wp_format_"]').each( function(i, field) { 
     370        $('.post-formats-fields').find('input[name^="_format_"], textarea[name^="_format_"]').each( function(i, field) { 
    371371                data[ field.name ] = field.value || ''; 
    372372        }); 
    373373 
  • wp-includes/media.php

    diff --git wp-includes/media.php wp-includes/media.php
    index 6ef945b..bd52867 100644
    function get_the_post_format_media( $type, &$post = null, $limit = 0 ) { 
    20742074 
    20752075        if ( has_post_format( $type, $post ) ) { 
    20762076                $meta = get_post_format_meta( $post->ID ); 
    2077                 if ( ! empty( $meta[$type] ) ) { 
    2078                         if ( is_integer( $meta[$type] ) ) { 
    2079                                 $url = wp_get_attachment_url( $meta[$type] ); 
     2077                if ( ! empty( $meta[$type . '_embed'] ) ) { 
     2078                        $value = $meta[$type . '_embed']; 
     2079                        if ( is_integer( $value ) ) { 
     2080                                $url = wp_get_attachment_url( $value ); 
    20802081                                $shortcode = sprintf( '[%s src="%s"]', $type, $url ); 
    2081                         } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $meta[$type] ) ) { 
    2082                                 $shortcode = $meta[$type]; 
    2083                         } elseif ( preg_match( '#<[^>]+>#', $meta[$type] ) ) { 
    2084                                 $post->format_content = $meta[$type]; 
     2082                        } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) ) { 
     2083                                $shortcode = $value; 
     2084                        } elseif ( preg_match( '#<[^>]+>#', $value ) ) { 
     2085                                $post->format_content = $value; 
    20852086                                return $post->format_content; 
    2086                         } elseif ( 0 === strpos( $meta[$type], 'http' ) ) { 
    2087                                 $post->split_content = str_replace( $meta[$type], '', $post->post_content, $count ); 
    2088                                 if ( strstr( $meta[$type], home_url() ) ) { 
    2089                                         $shortcode = sprintf( '[%s src="%s"]', $type, $meta[$type] ); 
     2087                        } elseif ( 0 === strpos( $value, 'http' ) ) { 
     2088                                $post->split_content = str_replace( $value, '', $post->post_content, $count ); 
     2089                                if ( strstr( $value, home_url() ) ) { 
     2090                                        $shortcode = sprintf( '[%s src="%s"]', $type, $value ); 
    20902091                                } else { 
    2091                                         $post->format_content = $wp_embed->autoembed( $meta[$type] ); 
     2092                                        $post->format_content = $wp_embed->autoembed( $value ); 
    20922093                                        return $post->format_content; 
    20932094                                } 
    20942095                        } 
  • wp-includes/post-formats.php

    diff --git wp-includes/post-formats.php wp-includes/post-formats.php
    index bd164af..7ebf54d 100644
    function set_post_format( $post, $format ) { 
    8181 * @return array The array of post format metadata. 
    8282 */ 
    8383function get_post_format_meta( $post_id = 0 ) { 
    84         $values = array( 
    85                 'quote'        => '', 
    86                 'quote_source' => '', 
    87                 'url'          => '', 
    88                 'image'        => '', 
    89                 'gallery'      => '', 
    90                 'audio'        => '', 
    91                 'video'        => '', 
     84        $meta = get_post_meta( $post_id ); 
     85        $keys = array( 'quote', 'quote_source_name', 'quote_source_url', 'link_url', 'gallery', 'audio_embed', 'video_embed', 'url', 'image' ); 
     86 
     87        if ( empty( $meta ) ) { 
     88                $empties = array(); 
     89                foreach ( $keys as $key ) 
     90                        $empties[$key] = ''; 
     91 
     92                return $empties; 
     93        } 
     94 
     95        $upgrade = array( 
     96                '_wp_format_quote_source' => 'quote_source_name', 
     97                '_wp_format_audio' => 'audio_embed', 
     98                '_wp_format_video' => 'video_embed' 
    9299        ); 
    93100 
    94         foreach ( $values as $key => $value ) 
    95                 $values[$key] = get_post_meta( $post_id, '_wp_format_' . $key, true ); 
     101        $format = get_post_format( $post_id ); 
     102        if ( ! empty( $format ) ) { 
     103                switch ( $format ) { 
     104                case 'link': 
     105                        $upgrade['_wp_format_url'] = 'link_url'; 
     106                        break; 
     107                case 'quote': 
     108                        $upgrade['_wp_format_url'] = 'quote_source_url'; 
     109                        break; 
     110                } 
     111        } 
     112 
     113        $upgrade_keys = array_keys( $upgrade ); 
     114        foreach ( $meta as $key => $values ) { 
     115                if ( ! in_array( $key, $upgrade_keys ) ) 
     116                        continue; 
     117                update_post_meta( $post_id, '_format_' . $upgrade[$key], reset( $values ) ); 
     118                delete_post_meta( $post_id, $key ); 
     119        } 
     120 
     121        $values = array(); 
     122 
     123        foreach ( $keys as $key ) { 
     124                $value = get_post_meta( $post_id, '_format_' . $key, true ); 
     125                $values[$key] = empty( $value ) ? '' : $value; 
     126        } 
    96127 
    97128        return $values; 
    98129} 
    function post_formats_compat( $content, $id = 0 ) { 
    324355                        $compat['tag'] = ''; 
    325356                        $compat['position'] = 'before'; 
    326357 
    327                         if ( ! empty( $meta['url'] ) ) { 
    328                                 $esc_url = preg_quote( $meta['url'], '#' ); 
     358                        if ( ! empty( $meta['link_url'] ) ) { 
     359                                $esc_url = preg_quote( $meta['link_url'], '#' ); 
    329360                                // Make sure the same URL isn't in the post (modified/extended versions allowed) 
    330361                                if ( ! preg_match( '#' . $esc_url . '[^/&\?]?#', $content ) ) { 
    331                                         $url = $meta['url']; 
     362                                        $url = $meta['link_url']; 
    332363                                } else { 
    333364                                        $url = get_content_url( $content, true ); 
    334365                                } 
    function post_formats_compat( $content, $id = 0 ) { 
    344375                                        '<a %shref="%s">%s</a>', 
    345376                                        empty( $compat['link_class'] ) ? '' : sprintf( 'class="%s" ', esc_attr( $compat['link_class'] ) ), 
    346377                                        esc_url( $url ), 
    347                                         empty( $post->post_title ) ? esc_url( $meta['url'] ) : apply_filters( 'the_title', $post->post_title, $post->ID ) 
     378                                        empty( $post->post_title ) ? esc_url( $meta['link_url'] ) : apply_filters( 'the_title', $post->post_title, $post->ID ) 
    348379                                ); 
    349380                        } 
    350381                        break; 
    function post_formats_compat( $content, $id = 0 ) { 
    376407                        if ( ! empty( $meta['quote'] ) && ! stristr( $content, $meta['quote'] ) ) { 
    377408                                $quote = sprintf( '<blockquote>%s</blockquote>', wpautop( $meta['quote'] ) ); 
    378409                                if ( ! empty( $meta['quote_source'] ) ) { 
    379                                         $source = ( empty( $meta['url'] ) ) ? $meta['quote_source'] : sprintf( '<a href="%s">%s</a>', esc_url( $meta['url'] ), $meta['quote_source'] ); 
     410                                        $source = ( empty( $meta['quote_source_url'] ) ) ? $meta['quote_source_name'] : sprintf( '<a href="%s">%s</a>', esc_url( $meta['quote_source_url'] ), $meta['quote_source_name'] ); 
    380411                                        $quote .= sprintf( '<figcaption class="quote-caption">%s</figcaption>', $source ); 
    381412                                } 
    382413                                $format_output .= sprintf( '<figure class="quote">%s</figure>', $quote ); 
    function post_formats_compat( $content, $id = 0 ) { 
    385416 
    386417                case 'video': 
    387418                case 'audio': 
    388                         if ( ! has_shortcode( $post->post_content, $format ) && ! empty( $meta[$format] ) ) { 
     419                        if ( ! has_shortcode( $post->post_content, $format ) && ! empty( $meta[$format . '_embed'] ) ) { 
     420                                $value = $meta[$format . '_embed']; 
    389421                                // the metadata is an attachment ID 
    390                                 if ( is_numeric( $meta[$format] ) ) { 
    391                                         $url = wp_get_attachment_url( $meta[$format] ); 
     422                                if ( is_numeric( $value ) ) { 
     423                                        $url = wp_get_attachment_url( $value ); 
    392424                                        $format_output .= sprintf( '[%s src="%s"]', $format, $url ); 
    393425                                // the metadata is a shortcode or an embed code 
    394                                 } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $meta[$format] ) || preg_match( '#<[^>]+>#', $meta[$format] ) ) { 
    395                                         $format_output .= $meta[$format]; 
    396                                 } elseif ( ! stristr( $content, $meta[$format] ) ) { 
     426                                } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) || preg_match( '#<[^>]+>#', $value ) ) { 
     427                                        $format_output .= $value; 
     428                                } elseif ( ! stristr( $content, $value ) ) { 
    397429                                        // attempt to embed the URL 
    398                                         $format_output .= sprintf( '[embed]%s[/embed]', $meta[$format] ); 
     430                                        $format_output .= sprintf( '[embed]%s[/embed]', $value ); 
    399431                                } 
    400432                        } 
    401433                        break; 
    function get_the_post_format_url( $id = 0 ) { 
    707739        if ( empty( $post ) ) 
    708740                return ''; 
    709741 
    710         if ( in_array( get_post_format( $post->ID ), array( 'image', 'link', 'quote' ) ) ) { 
     742        $format = get_post_format( $post->ID ); 
     743        if ( in_array( $format, array( 'image', 'link', 'quote' ) ) ) { 
    711744                $meta = get_post_format_meta( $post->ID ); 
    712                 if ( ! empty( $meta['url'] ) ) 
    713                         return apply_filters( 'get_the_post_format_url', esc_url_raw( $meta['url'] ), $post ); 
     745                $meta_link = ''; 
     746 
     747                switch ( $format ) { 
     748                case 'link': 
     749                        if ( ! empty( $meta['link_url'] ) ) 
     750                                $meta_link = $meta['link_url']; 
     751                        break; 
     752                case 'image': 
     753                        if ( ! empty( $meta['url'] ) ) 
     754                                $meta_link = $meta['url']; 
     755                        break; 
     756                case 'quote': 
     757                        if ( ! empty( $meta['quote_source_url'] ) ) 
     758                                $meta_link = $meta['quote_source_url']; 
     759                        break; 
     760                } 
     761 
     762                if ( ! empty( $meta_link ) ) 
     763                        return apply_filters( 'get_the_post_format_url', esc_url_raw( $meta_link ), $post ); 
    714764        } 
    715765 
    716766        if ( ! empty( $post->post_content ) ) 
  • wp-includes/revision.php

    diff --git wp-includes/revision.php wp-includes/revision.php
    index b0459b9..b28affa 100644
    function _wp_post_revision_fields( $post = null, $autosave = false ) { 
    6868 */ 
    6969function _wp_post_revision_meta_keys() { 
    7070        return array( 
    71                 '_wp_format_url', 
    72                 '_wp_format_quote', 
    73                 '_wp_format_quote_source', 
    74                 '_wp_format_image', 
    75                 '_wp_format_gallery', 
    76                 '_wp_format_audio', 
    77                 '_wp_format_video', 
     71                '_format_url', 
     72                '_format_link_url', 
     73                '_format_quote_source_url', 
     74                '_format_quote_source_name', 
     75                '_format_quote', 
     76                '_format_image', 
     77                '_format_gallery', 
     78                '_format_audio_embed', 
     79                '_format_video_embed', 
    7880        ); 
    7981} 
    8082