WordPress.org

Make WordPress Core

Ticket #16047: 16047.2.diff

File 16047.2.diff, 3.0 KB (added by garyc40, 7 years ago)

Post format on a separate column, hidden by default

  • wp-admin/admin-ajax.php

    diff --git wp-admin/admin-ajax.php wp-admin/admin-ajax.php
    index d2a8d4d..66f03f4 100644
    case 'hidden-columns' : 
    10361036        if ( ! $user = wp_get_current_user() )
    10371037                die('-1');
    10381038
     1039        set_current_screen( $page );
     1040        $screen = get_current_screen();
    10391041        if ( is_array($hidden) )
    10401042                update_user_option($user->ID, "manage{$page}columnshidden", $hidden, true);
     1043       
     1044        // show post format column if it's not found in $hidden
     1045        if ( $screen->base == 'edit' && current_theme_supports( 'post-formats' ) && post_type_supports( $screen->post_type, 'post-formats' ) && ! in_array( 'format', $hidden ) && ! get_user_option( "{$screen->id}postformatsshown" ) )
     1046                update_user_option( $user->ID, "{$screen->id}postformatsshown", 1 );
    10411047
    10421048        die('1');
    10431049        break;
  • wp-admin/includes/class-wp-posts-list-table.php

    diff --git wp-admin/includes/class-wp-posts-list-table.php wp-admin/includes/class-wp-posts-list-table.php
    index e623ab5..72388e3 100644
    class WP_Posts_List_Table extends WP_List_Table { 
    272272
    273273                if ( post_type_supports( $post_type, 'author' ) )
    274274                        $posts_columns['author'] = __( 'Author' );
     275       
     276                if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post_type, 'post-formats' ) )
     277                        $posts_columns['format'] = _x( 'Format', 'post format' );
    275278
    276279                if ( empty( $post_type ) || is_object_in_taxonomy( $post_type, 'category' ) )
    277280                        $posts_columns['categories'] = __( 'Categories' );
    class WP_Posts_List_Table extends WP_List_Table { 
    663666                        ?></td>
    664667                        <?php
    665668                        break;
     669                       
     670                        case 'format':
     671                        ?>
     672                        <td <?php echo $attributes ?>><?php
     673                                if ( get_post_format( $post->ID ) )
     674                                                echo get_post_format_string( get_post_format( $post->ID ) );
     675                        ?></td>
     676                        <?php
     677                        break;
    666678
    667679                        default:
    668680                        ?>
  • wp-admin/includes/template.php

    diff --git wp-admin/includes/template.php wp-admin/includes/template.php
    index b345c36..ad455f4 100644
    function get_hidden_columns( $screen ) { 
    254254        if ( is_string( $screen ) )
    255255                $screen = convert_to_screen( $screen );
    256256
    257         return (array) get_user_option( 'manage' . $screen->id . 'columnshidden' );
     257        $hidden = (array) get_user_option( 'manage' . $screen->id . 'columnshidden' );
     258
     259        // post format column is hidden by default
     260        if ( $screen->base == 'edit' && current_theme_supports( 'post-formats' ) && post_type_supports( $screen->post_type, 'post-formats' ) && ! in_array( 'format', $hidden ) && ! get_user_option( "{$screen->id}postformatsshown" ) )
     261                $hidden[] = 'format';
     262
     263        return $hidden;
    258264}
    259265
    260266// adds hidden fields with the data for use in the inline editor for posts and pages
    function _post_states($post) { 
    16461652                        echo "<span class='post-state'>$state$sep</span>";
    16471653                }
    16481654        }
    1649 
    1650         if ( get_post_format( $post->ID ) )
    1651                 echo ' - <span class="post-state-format">' . get_post_format_string( get_post_format( $post->ID ) ) . '</span>';
    16521655}
    16531656
    16541657/**