WordPress.org

Make WordPress Core

Ticket #16047: 16047.2.diff

File 16047.2.diff, 3.0 KB (added by garyc40, 3 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/**