Make WordPress Core

Ticket #49715: 49715.diff

File 49715.diff, 5.8 KB (added by audrasjb, 4 years ago)

First pass: Allow user to switch between Compact (default) and Extended modes for posts types list tables

  • src/wp-admin/includes/class-wp-list-table.php

    diff --git a/src/wp-admin/includes/class-wp-list-table.php b/src/wp-admin/includes/class-wp-list-table.php
    index 791ee7c159..7736652ce4 100644
    a b class WP_List_Table { 
    166166
    167167                if ( empty( $this->modes ) ) {
    168168                        $this->modes = array(
    169                                 'list'    => __( 'List View' ),
    170                                 'excerpt' => __( 'Excerpt View' ),
     169                                'list'  => __( 'Compact view' ),
     170                                'extended' => __( 'Extended view' ),
    171171                        );
    172172                }
    173173        }
    class WP_List_Table { 
    517517                        return '';
    518518                }
    519519
     520                $mode = get_user_setting( 'posts_list_mode', 'list' );
     521                if ( 'extended' === $mode ) {
     522                        $always_visible = true;
     523                }
     524
    520525                $out = '<div class="' . ( $always_visible ? 'row-actions visible' : 'row-actions' ) . '">';
    521526                foreach ( $actions as $action => $link ) {
    522527                        ++$i;
  • src/wp-admin/includes/class-wp-posts-list-table.php

    diff --git a/src/wp-admin/includes/class-wp-posts-list-table.php b/src/wp-admin/includes/class-wp-posts-list-table.php
    index 871feeb84e..71d218f416 100644
    a b class WP_Posts_List_Table extends WP_List_Table { 
    178178                }
    179179
    180180                if ( ! empty( $_REQUEST['mode'] ) ) {
    181                         $mode = 'excerpt' === $_REQUEST['mode'] ? 'excerpt' : 'list';
     181                        $mode = 'extended' === $_REQUEST['mode'] ? 'extended' : 'list';
    182182                        set_user_setting( 'posts_list_mode', $mode );
    183183                } else {
    184184                        $mode = get_user_setting( 'posts_list_mode', 'list' );
    class WP_Posts_List_Table extends WP_List_Table { 
    10401040                }
    10411041                echo "</strong>\n";
    10421042
    1043                 if ( ! is_post_type_hierarchical( $this->screen->post_type ) && 'excerpt' === $mode && current_user_can( 'read_post', $post->ID ) ) {
     1043                if ( ! is_post_type_hierarchical( $this->screen->post_type ) && 'extended' === $mode && current_user_can( 'read_post', $post->ID ) ) {
    10441044                        if ( post_password_required( $post ) ) {
    10451045                                echo '<span class="protected-post-excerpt">' . esc_html( get_the_excerpt() ) . '</span>';
    10461046                        } else {
    class WP_Posts_List_Table extends WP_List_Table { 
    11001100                 * @param string  $status      The status text.
    11011101                 * @param WP_Post $post        Post object.
    11021102                 * @param string  $column_name The column name.
    1103                  * @param string  $mode        The list display mode ('excerpt' or 'list').
     1103                 * @param string  $mode        The list display mode ('extended' or 'list').
    11041104                 */
    11051105                $status = apply_filters( 'post_date_column_status', $status, $post, 'date', $mode );
    11061106
    class WP_Posts_List_Table extends WP_List_Table { 
    11081108                        echo $status . '<br />';
    11091109                }
    11101110
    1111                 if ( 'excerpt' === $mode ) {
     1111                if ( 'extended' === $mode || 'excerpt' === $mode ) {
    11121112                        /**
    11131113                         * Filters the published time of the post.
    11141114                         *
    1115                          * If `$mode` equals 'excerpt', the published time and date are both displayed.
     1115                         * If `$mode` equals 'extended', the published time and date are both displayed.
    11161116                         * If `$mode` equals 'list' (default), the publish date is displayed, with the
    11171117                         * time and date together available as an abbreviation definition.
    11181118                         *
    class WP_Posts_List_Table extends WP_List_Table { 
    11211121                         * @param string  $t_time      The published time.
    11221122                         * @param WP_Post $post        Post object.
    11231123                         * @param string  $column_name The column name.
    1124                          * @param string  $mode        The list display mode ('excerpt' or 'list').
     1124                         * @param string  $mode        The list display mode ('extended' or 'list').
    11251125                         */
    11261126                        echo apply_filters( 'post_date_column_time', $t_time, $post, 'date', $mode );
    11271127                } else {
    class WP_Posts_List_Table extends WP_List_Table { 
    14561456         *
    14571457         * @since 3.1.0
    14581458         *
    1459          * @global string $mode List table view mode.
     1459         * @global string $mode Compact table view mode.
    14601460         */
    14611461        public function inline_edit() {
    14621462                global $mode;
    class WP_Posts_List_Table extends WP_List_Table { 
    14961496                        }
    14971497                }
    14981498
    1499                 $m            = ( isset( $mode ) && 'excerpt' === $mode ) ? 'excerpt' : 'list';
     1499                $m            = ( isset( $mode ) && 'extended' === $mode ) ? 'extended' : 'list';
    15001500                $can_publish  = current_user_can( $post_type_object->cap->publish_posts );
    15011501                $core_columns = array(
    15021502                        'cb'         => true,
  • src/wp-admin/includes/class-wp-screen.php

    diff --git a/src/wp-admin/includes/class-wp-screen.php b/src/wp-admin/includes/class-wp-screen.php
    index e983ffef80..e87d17cf86 100644
    a b final class WP_Screen { 
    12931293                        return;
    12941294                }
    12951295
    1296                 $view_mode_post_types = get_post_types(
    1297                         array(
    1298                                 'hierarchical' => false,
    1299                                 'show_ui'      => true,
    1300                         )
    1301                 );
     1296                $view_mode_post_types = get_post_types( array( 'show_ui' => true ) );
    13021297
    13031298                /**
    13041299                 * Filters the post types that have different view mode options.
    final class WP_Screen { 
    13061301                 * @since 4.4.0
    13071302                 *
    13081303                 * @param string[] $view_mode_post_types Array of post types that can change view modes.
    1309                  *                                       Default non-hierarchical post types with show_ui on.
     1304                 *                                       Default post types with show_ui on.
    13101305                 */
    13111306                $view_mode_post_types = apply_filters( 'view_mode_post_types', $view_mode_post_types );
    13121307
    final class WP_Screen { 
    13231318                <legend><?php _e( 'View Mode' ); ?></legend>
    13241319                                <label for="list-view-mode">
    13251320                                        <input id="list-view-mode" type="radio" name="mode" value="list" <?php checked( 'list', $mode ); ?> />
    1326                                         <?php _e( 'List View' ); ?>
     1321                                        <?php _e( 'Compact view' ); ?>
    13271322                                </label>
    13281323                                <label for="excerpt-view-mode">
    1329                                         <input id="excerpt-view-mode" type="radio" name="mode" value="excerpt" <?php checked( 'excerpt', $mode ); ?> />
    1330                                         <?php _e( 'Excerpt View' ); ?>
     1324                                        <input id="excerpt-view-mode" type="radio" name="mode" value="extended" <?php checked( 'extended', $mode ); ?> />
     1325                                        <?php _e( 'Extended View' ); ?>
    13311326                                </label>
    13321327                </fieldset>
    13331328                <?php