WordPress.org

Make WordPress Core

Ticket #18083: 18083.diff

File 18083.diff, 3.9 KB (added by duck_, 4 years ago)
  • wp-admin/includes/class-wp-posts-list-table.php

     
    988988 
    989989                        </div> 
    990990 
     991        <?php if ( post_type_supports( $screen->post_type, 'post-formats' ) && current_theme_supports( 'post-formats' ) ) :  
     992                $post_formats = get_theme_support( 'post-formats' ); 
     993                if ( is_array( $post_formats[0] ) ) : ?> 
     994                        <div class="inline-edit-group"> 
     995                                <label class="alignleft" for="post_format"> 
     996                                <span class="title"><?php _e( 'Post Format' ); ?></span> 
     997                                <select name="post_format" id="post_format"> 
     998                                <?php if ( $bulk ) : ?> 
     999                                        <option value="-1"><?php _e( '&mdash; No Change &mdash;' ); ?></option> 
     1000                                <?php endif; ?> 
     1001                                        <option value="0"><?php _ex( 'Standard', 'Post format' ); ?></option> 
     1002                                <?php foreach ( $post_formats[0] as $format ): ?> 
     1003                                        <option value="<?php echo esc_attr( $format ); ?>"><?php echo esc_html( get_post_format_string( $format ) ); ?></option> 
     1004                                <?php endforeach; ?> 
     1005                                </select></label> 
     1006                        </div> 
     1007                <?php endif; ?> 
     1008        <?php endif; // post-formats ?> 
     1009 
    9911010                </div></fieldset> 
    9921011 
    9931012        <?php 
  • wp-admin/includes/post.php

     
    312312                foreach ( $post_data['tax_input'] as $tax_name => $terms ) { 
    313313                        if ( empty($terms) ) 
    314314                                continue; 
    315                         if ( is_taxonomy_hierarchical( $tax_name ) ) 
     315                        if ( is_taxonomy_hierarchical( $tax_name ) ) { 
    316316                                $tax_input[$tax_name] = array_map( 'absint', $terms ); 
    317                         else { 
     317                        } else { 
    318318                                $tax_input[$tax_name] = preg_replace( '/\s*,\s*/', ',', rtrim( trim($terms), ' ,' ) ); 
    319319                                $tax_input[$tax_name] = explode(',', $tax_input[$tax_name]); 
    320320                        } 
     
    337337                } 
    338338        } 
    339339 
     340        // don't change the post format if it's not supported, unset or set to -1  
     341        if ( isset( $post_data['post_format'] ) && '-1' != $post_data['post_format'] && current_theme_supports( 'post-formats' ) ) { 
     342                $formats = get_theme_support( 'post-formats' ); 
     343                if ( is_array( $formats ) ) { 
     344                        $formats = $formats[0]; 
     345                        if ( ! in_array( $post_data['post_format'], $formats ) ) { 
     346                                unset( $post_data['post_format'] ); 
     347                        } 
     348                } 
     349        } else { 
     350                unset( $post_data['post_format'] ); 
     351        } 
     352 
    340353        $updated = $skipped = $locked = array(); 
    341354        foreach ( $post_IDs as $post_ID ) { 
    342355                $post_type_object = get_post_type_object( get_post_type( $post_ID ) ); 
     
    387400                                unstick_post( $post_ID ); 
    388401                } 
    389402 
     403                if ( isset( $post_data['post_format'] ) ) 
     404                        set_post_format( $post_ID, $post_data['post_format'] ); 
    390405        } 
    391406 
    392407        return array( 'updated' => $updated, 'skipped' => $skipped, 'locked' => $locked ); 
  • wp-admin/includes/template.php

     
    310310        if ( !$post_type_object->hierarchical ) 
    311311                echo '<div class="sticky">' . (is_sticky($post->ID) ? 'sticky' : '') . '</div>'; 
    312312 
     313        if ( post_type_supports( $post->post_type, 'post-formats' ) ) 
     314                echo '<div class="post_format">' . esc_html( get_post_format( $post->ID ) ) . '</div>'; 
     315 
    313316        echo '</div>'; 
    314317} 
    315318 
  • wp-admin/js/inline-edit-post.dev.js

     
    129129                if ( typeof(id) == 'object' ) 
    130130                        id = t.getId(id); 
    131131 
    132                 fields = ['post_title', 'post_name', 'post_author', '_status', 'jj', 'mm', 'aa', 'hh', 'mn', 'ss', 'post_password']; 
     132                fields = ['post_title', 'post_name', 'post_author', '_status', 'jj', 'mm', 'aa', 'hh', 'mn', 'ss', 'post_password', 'post_format']; 
    133133                if ( t.type == 'page' ) 
    134134                        fields.push('post_parent', 'menu_order', 'page_template'); 
    135135