Make WordPress Core

Changeset 24021


Ignore:
Timestamp:
04/17/2013 08:57:44 PM (11 years ago)
Author:
markjaquith
Message:

Standardize post format postmeta keys around the ones already used by the Crowd Favorite plugin.

props wonderboymusic. fixes #24010.

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/post-formats.php

    r24006 r24021  
    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            ?>
     
    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"
     
    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            ?>
     
    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_embed" 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"
     
    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            ?>
     
    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_embed" 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' ); ?>">
  • trunk/wp-admin/includes/post.php

    r23985 r24021  
    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     }
    198 
    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'] ) ) ) );
    201     }
    202 
    203     $format_keys = array( 'quote', 'quote_source', 'image', 'gallery', 'audio', 'video' );
     197
     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 ] ) ) ) );
     203    }
     204
     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    }
  • trunk/wp-admin/js/post-formats.js

    r24007 r24021  
    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 ) {
     
    7777        $('.wp-format-media-select').click(function(event) {
    7878            event.preventDefault();
    79             var $el = $(this), mime,
    80                 $holder = $el.closest('.wp-format-media-holder'),
    81                 $field = $( '#wp_format_' + $holder.data('format') );
     79            var $el = $(this), mime = 'image',
     80                $holder = $el.closest('.wp-format-media-holder'),
     81                $field = $( '#wp_format_' + $holder.data('format') );
    8282
    8383            mime = $holder.data('format');
  • trunk/wp-includes/js/autosave.js

    r23928 r24021  
    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    });
  • trunk/wp-includes/media.php

    r24006 r24021  
    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                }
  • trunk/wp-includes/post-formats.php

    r23992 r24021  
    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        return array_fill_keys( $keys, '' );
     89
     90    $upgrade = array(
     91        '_wp_format_quote_source' => 'quote_source_name',
     92        '_wp_format_audio' => 'audio_embed',
     93        '_wp_format_video' => 'video_embed'
    9294    );
    9395
    94     foreach ( $values as $key => $value )
    95         $values[$key] = get_post_meta( $post_id, '_wp_format_' . $key, true );
     96    $format = get_post_format( $post_id );
     97    if ( ! empty( $format ) ) {
     98        switch ( $format ) {
     99        case 'link':
     100            $upgrade['_wp_format_url'] = 'link_url';
     101            break;
     102        case 'quote':
     103            $upgrade['_wp_format_url'] = 'quote_source_url';
     104            break;
     105        }
     106    }
     107
     108    $upgrade_keys = array_keys( $upgrade );
     109    foreach ( $meta as $key => $values ) {
     110        if ( ! in_array( $key, $upgrade_keys ) )
     111            continue;
     112        update_post_meta( $post_id, '_format_' . $upgrade[$key], reset( $values ) );
     113        delete_post_meta( $post_id, $key );
     114    }
     115
     116    $values = array();
     117
     118    foreach ( $keys as $key ) {
     119        $value = get_post_meta( $post_id, '_format_' . $key, true );
     120        $values[$key] = empty( $value ) ? '' : $value;
     121    }
    96122
    97123    return $values;
     
    325351            $compat['position'] = 'before';
    326352
    327             if ( ! empty( $meta['url'] ) ) {
    328                 $esc_url = preg_quote( $meta['url'], '#' );
     353            if ( ! empty( $meta['link_url'] ) ) {
     354                $esc_url = preg_quote( $meta['link_url'], '#' );
    329355                // Make sure the same URL isn't in the post (modified/extended versions allowed)
    330356                if ( ! preg_match( '#' . $esc_url . '[^/&\?]?#', $content ) ) {
    331                     $url = $meta['url'];
     357                    $url = $meta['link_url'];
    332358                } else {
    333359                    $url = get_content_url( $content, true );
     
    345371                    empty( $compat['link_class'] ) ? '' : sprintf( 'class="%s" ', esc_attr( $compat['link_class'] ) ),
    346372                    esc_url( $url ),
    347                     empty( $post->post_title ) ? esc_url( $meta['url'] ) : apply_filters( 'the_title', $post->post_title, $post->ID )
     373                    empty( $post->post_title ) ? esc_url( $meta['link_url'] ) : apply_filters( 'the_title', $post->post_title, $post->ID )
    348374                );
    349375            }
     
    376402            if ( ! empty( $meta['quote'] ) && ! stristr( $content, $meta['quote'] ) ) {
    377403                $quote = sprintf( '<blockquote>%s</blockquote>', wpautop( $meta['quote'] ) );
    378                 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'] );
     404                if ( ! empty( $meta['quote_source_name'] ) ) {
     405                    $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'] );
    380406                    $quote .= sprintf( '<figcaption class="quote-caption">%s</figcaption>', $source );
    381407                }
     
    386412        case 'video':
    387413        case 'audio':
    388             if ( ! has_shortcode( $post->post_content, $format ) && ! empty( $meta[$format] ) ) {
     414            if ( ! has_shortcode( $post->post_content, $format ) && ! empty( $meta[$format . '_embed'] ) ) {
     415                $value = $meta[$format . '_embed'];
    389416                // the metadata is an attachment ID
    390                 if ( is_numeric( $meta[$format] ) ) {
    391                     $url = wp_get_attachment_url( $meta[$format] );
     417                if ( is_numeric( $value ) ) {
     418                    $url = wp_get_attachment_url( $value );
    392419                    $format_output .= sprintf( '[%s src="%s"]', $format, $url );
    393420                // 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] ) ) {
     421                } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) || preg_match( '#<[^>]+>#', $value ) ) {
     422                    $format_output .= $value;
     423                } elseif ( ! stristr( $content, $value ) ) {
    397424                    // attempt to embed the URL
    398                     $format_output .= sprintf( '[embed]%s[/embed]', $meta[$format] );
     425                    $format_output .= sprintf( '[embed]%s[/embed]', $value );
    399426                }
    400427            }
     
    708735        return '';
    709736
    710     if ( in_array( get_post_format( $post->ID ), array( 'image', 'link', 'quote' ) ) ) {
     737    $format = get_post_format( $post->ID );
     738    if ( in_array( $format, array( 'image', 'link', 'quote' ) ) ) {
    711739        $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 );
     740        $meta_link = '';
     741
     742        switch ( $format ) {
     743        case 'link':
     744            if ( ! empty( $meta['link_url'] ) )
     745                $meta_link = $meta['link_url'];
     746            break;
     747        case 'image':
     748            if ( ! empty( $meta['url'] ) )
     749                $meta_link = $meta['url'];
     750            break;
     751        case 'quote':
     752            if ( ! empty( $meta['quote_source_url'] ) )
     753                $meta_link = $meta['quote_source_url'];
     754            break;
     755        }
     756
     757        if ( ! empty( $meta_link ) )
     758            return apply_filters( 'get_the_post_format_url', esc_url_raw( $meta_link ), $post );
    714759    }
    715760
  • trunk/wp-includes/revision.php

    r23936 r24021  
    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}
Note: See TracChangeset for help on using the changeset viewer.