WordPress.org

Make WordPress Core

Ticket #19570: 19570.3.diff

File 19570.3.diff, 8.6 KB (added by helen, 14 months ago)
  • wp-includes/post.php

     
    18991899} 
    19001900 
    19011901/** 
     1902 * Retrieve metadata for current post format 
     1903 * 
     1904 * @since 3.6.0 
     1905 * 
     1906 * @param int $post_id 
     1907 * @return null 
     1908 */ 
     1909function get_post_format_meta( $post_id = 0 ) { 
     1910        $keys = get_post_custom( $post_id ); 
     1911        if ( empty( $keys ) ) 
     1912                return null; 
     1913 
     1914        $values = array(); 
     1915        foreach ( $keys as $key => $value ) { 
     1916                if ( 0 === strpos( $key, '_wp_format_' ) ) { 
     1917                        $slug = str_replace( '_wp_format_', '', $key ); 
     1918                        $values[$slug] = $value[0]; 
     1919                } 
     1920        } 
     1921 
     1922        return $values; 
     1923} 
     1924 
     1925/** 
    19021926 * Check if post is sticky. 
    19031927 * 
    19041928 * Sticky posts should remain at the top of The Loop. If the post ID is not 
  • wp-admin/includes/post.php

     
    193193 
    194194        // Post Formats 
    195195        if ( isset( $post_data['post_format'] ) ) { 
    196                 if ( current_theme_supports( 'post-formats', $post_data['post_format'] ) ) 
    197                         set_post_format( $post_ID, $post_data['post_format'] ); 
    198                 elseif ( '0' == $post_data['post_format'] ) 
    199                         set_post_format( $post_ID, false ); 
     196                set_post_format( $post_ID, $post_data['post_format'] ); 
    200197        } 
    201198 
     199        if ( isset( $post_data[ '_wp_format_url' ] ) ) { 
     200                update_post_meta( $post_ID, '_wp_format_url', addslashes( esc_url_raw( stripslashes( $post_data['_wp_format_url'] ) ) ) ); 
     201        } 
     202 
     203        $format_keys = array( 'quote', 'quote_source', 'image', 'gallery', 'media' ); 
     204 
     205        foreach ( $format_keys as $key ) { 
     206                 if ( isset( $post_data[ '_wp_format_' . $key ] ) ) 
     207                        update_post_meta( $post_ID, '_wp_format_' . $key, wp_filter_post_kses( $post_data[ '_wp_format_' . $key ] ) ); 
     208        } 
     209 
    202210        // Meta Stuff 
    203211        if ( isset($post_data['meta']) && $post_data['meta'] ) { 
    204212                foreach ( $post_data['meta'] as $key => $value ) { 
  • wp-admin/js/post.js

     
    791791                        }); 
    792792                }); 
    793793        } 
     794 
     795        // Post formats selection 
     796        $('.post-format-select a').on( 'click', function(e){ 
     797                e.preventDefault(); 
     798                var $this = $(this), 
     799                        format = $this.data('wpFormat'); 
     800                $('.post-format-select a.nav-tab-active').removeClass('nav-tab-active'); 
     801                $this.addClass('nav-tab-active').blur(); 
     802                $('#post_format').val(format); 
     803                $('#post-body-content').attr('class', 'wp-format-' + format ); 
     804        }); 
    794805}); 
  • wp-admin/edit-form-advanced.php

     
    112112        add_meta_box( 'submitdiv', __( 'Publish' ), 'post_submit_meta_box', null, 'side', 'core' ); 
    113113} 
    114114 
    115 if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post_type, 'post-formats' ) ) 
    116         add_meta_box( 'formatdiv', _x( 'Format', 'post format' ), 'post_format_meta_box', null, 'side', 'core' ); 
    117  
    118115// all taxonomies 
    119116foreach ( get_object_taxonomies( $post ) as $tax_name ) { 
    120117        $taxonomy = get_taxonomy($tax_name); 
     
    129126                add_meta_box($tax_name . 'div', $label, 'post_categories_meta_box', null, 'side', 'core', array( 'taxonomy' => $tax_name )); 
    130127} 
    131128 
     129// post format 
     130$post_format = get_post_format(); 
     131$format_class = ''; 
     132if ( ! $post_format && post_type_supports( $post_type, 'post-formats' ) ) 
     133        $post_format = 'standard'; 
     134if ( $post_format ) 
     135        $format_class = " class='wp-format-{$post_format}'"; 
     136 
    132137if ( post_type_supports($post_type, 'page-attributes') ) 
    133138        add_meta_box('pageparentdiv', 'page' == $post_type ? __('Page Attributes') : __('Attributes'), 'page_attributes_meta_box', null, 'side', 'core'); 
    134139 
     
    321326 
    322327<div id="poststuff"> 
    323328 
     329<?php 
     330if ( post_type_supports( $post_type, 'post-formats' ) ) { 
     331        $all_post_formats = get_post_format_strings(); 
     332 
     333        echo '<h2 class="nav-tab-wrapper post-format-select">'; 
     334 
     335        foreach ( $all_post_formats as $slug => $label ) { 
     336                if ( $post_format == $slug ) 
     337                        $class = 'nav-tab nav-tab-active'; 
     338                else 
     339                        $class = 'nav-tab'; 
     340 
     341                echo '<a class="' . $class . '" href="?format=' . $slug . '" data-wp-format="' . $slug . '">' . $label . '</a>'; 
     342        } 
     343 
     344        echo '</h2>'; 
     345} 
     346?> 
     347 
    324348<div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>"> 
    325 <div id="post-body-content"> 
     349<div id="post-body-content"<?php echo $format_class; ?>> 
     350 
    326351<?php if ( post_type_supports($post_type, 'title') ) { ?> 
    327352<div id="titlediv"> 
    328353<div id="titlewrap"> 
     
    356381 
    357382do_action( 'edit_form_after_title' ); 
    358383 
     384// post format fields 
     385if ( post_type_supports( $post_type, 'post-formats' ) ) { 
     386        $format_meta = get_post_format_meta( $post_ID ); 
     387?> 
     388<div class="post-formats-fields"> 
     389 
     390<input type="hidden" name="post_format" id="post_format" value="<?php echo esc_attr( $post_format ); ?>" /> 
     391 
     392<div class="field wp-format-quote"> 
     393        <label for="_wp_format_quote" class="screen-reader-text"><?php _e( 'Quote' ); ?>:</label> 
     394        <textarea name="_wp_format_quote" placeholder="<?php _e( 'Quote' ); ?>" class="widefat"><?php echo esc_textarea( $format_meta['quote'] ); ?></textarea> 
     395</div> 
     396 
     397<div class="field wp-format-quote"> 
     398        <label for="_wp_format_quote_source" class="screen-reader-text"><?php _e( 'Quote source' ); ?>:</label> 
     399        <input type="text" name="_wp_format_quote_source" value="<?php echo esc_attr( $format_meta['quote_source'] ); ?>" placeholder="<?php _e( 'Quote source' ); ?>" class="widefat" /> 
     400</div> 
     401 
     402<div class="field wp-format-image"> 
     403        <label for="_wp_format_image" class="screen-reader-text"><?php _e( 'Image ID or URL' ); ?>:</label> 
     404        <input type="text" name="_wp_format_image" value="<?php echo esc_attr( $format_meta['image'] ); ?>" placeholder="<?php _e( 'Image ID or URL' ); ?>" class="widefat" /> 
     405</div> 
     406 
     407<div class="field wp-format-link wp-format-quote wp-format-image"> 
     408        <label for="_wp_format_url" class="screen-reader-text"><?php _e( 'Link URL' ); ?>:</label> 
     409        <input type="text" name="_wp_format_url" value="<?php echo esc_url( $format_meta['url'] ); ?>" placeholder="<?php _e( 'Link URL' ); ?>" class="widefat" /> 
     410</div> 
     411 
     412<div class="field wp-format-gallery"> 
     413        <label for="_wp_format_gallery" class="screen-reader-text"><?php _e( 'Gallery shortcode' ); ?>:</label> 
     414        <input type="text" name="_wp_format_gallery" value="<?php echo esc_attr( $format_meta['gallery'] ); ?>" placeholder="<?php _e( 'Gallery shortcode' ); ?>" class="widefat" /> 
     415</div> 
     416 
     417<div class="field wp-format-audio wp-format-video"> 
     418        <label for="_wp_format_media" class="screen-reader-text"><?php _e( 'Embed code or URL' ); ?>:</label> 
     419        <textarea name="_wp_format_media" placeholder="<?php _e( 'Embed code or URL' ); ?>" class="widefat"><?php echo esc_textarea( $format_meta['media'] ); ?></textarea> 
     420</div> 
     421 
     422</div> 
     423<?php 
     424} 
     425 
    359426if ( post_type_supports($post_type, 'editor') ) { 
    360427?> 
    361428<div id="postdivrich" class="postarea"> 
  • wp-admin/css/wp-admin.css

     
    750750        background-color: #eee; 
    751751} 
    752752 
    753 :-moz-placeholder { 
     753:-moz-placeholder, 
     754.wp-core-ui :-moz-placeholder { 
    754755   color: #a9a9a9; 
    755756} 
    756757 
     
    30893090        margin: 2px 0 2px -2px; 
    30903091} 
    30913092 
    3092 #post-status-select, #post-format { 
     3093#post-status-select { 
    30933094        line-height: 2.5em; 
    30943095        margin-top: 3px; 
    30953096} 
    30963097 
     3098/* Post formats form */ 
     3099#poststuff .post-format-select { 
     3100        margin-top: 0; 
     3101        padding-bottom: 0; 
     3102} 
     3103 
     3104.post-formats-fields { 
     3105        margin-bottom: 20px; 
     3106} 
     3107 
     3108.wp-format-standard .post-formats-fields, 
     3109.wp-format-aside .post-formats-fields, 
     3110.wp-format-chat .post-formats-fields, 
     3111.wp-format-status .post-formats-fields { 
     3112        display: none; 
     3113} 
     3114 
     3115.post-formats-fields .field { 
     3116        display: none; 
     3117        margin-bottom: 10px; 
     3118} 
     3119 
     3120.post-formats-fields input, 
     3121.post-formats-fields textarea { 
     3122        padding: 5px; 
     3123        font-size: 1.2em; 
     3124} 
     3125 
     3126.wp-format-chat .field.wp-format-chat, 
     3127.wp-format-gallery .field.wp-format-gallery, 
     3128.wp-format-link .field.wp-format-link, 
     3129.wp-format-image .field.wp-format-image, 
     3130.wp-format-quote .field.wp-format-quote, 
     3131.wp-format-video .field.wp-format-video, 
     3132.wp-format-audio .field.wp-format-audio { 
     3133        display: block; 
     3134} 
     3135 
     3136/*.wp-format-image .post-formats-fields, 
     3137.wp-format-video .post-formats-fields, 
     3138.wp-format-audio .post-formats-fields { 
     3139        width: 30%; 
     3140        float: left; 
     3141} 
     3142 
     3143.wp-format-image #postdivrich, 
     3144.wp-format-video #postdivrich, 
     3145.wp-format-audio #postdivrich { 
     3146        width: 69%; 
     3147        float: right; 
     3148}*/ 
     3149 
    30973150/* Post Screen */ 
    30983151#post-body #normal-sortables { 
    30993152        min-height: 50px;