WordPress.org

Make WordPress Core

Ticket #18083: 18083.diff

File 18083.diff, 3.9 KB (added by duck_, 7 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