Make WordPress Core

Changeset 31828


Ignore:
Timestamp:
03/19/2015 02:25:05 AM (10 years ago)
Author:
wonderboymusic
Message:

Add WP_Posts_List_Table::is_base_request() to determine if the current "view" is the "All" (default) view.

Fixes #24869.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/class-wp-posts-list-table.php

    r31730 r31828  
    149149    }
    150150
     151    /**
     152     * Determine if the current view is the "All" view
     153     *
     154     * @since 4.2.0
     155     *
     156     * @return boolean
     157     */
     158    protected function is_base_request() {
     159        if ( empty( $_GET ) ) {
     160            return true;
     161        } elseif ( 1 === count( $_GET ) && ! empty( $_GET['post_type'] ) ) {
     162            return $this->screen->post_type === $_GET['post_type'];
     163        }
     164    }
     165
    151166    protected function get_views() {
    152167        global $locked_post_status, $avail_post_stati;
     
    177192            $total_posts -= $num_posts->$state;
    178193
    179         $class = empty( $class ) && empty( $_REQUEST['post_status'] ) && empty( $_REQUEST['show_sticky'] ) ? ' class="current"' : '';
    180         $status_links['all'] = "<a href='edit.php?post_type=$post_type{$allposts}'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_posts, 'posts' ), number_format_i18n( $total_posts ) ) . '</a>';
     194        if ( empty( $class ) && $this->is_base_request() ) {
     195            $class =  ' class="current"';
     196        }
     197
     198        $all_inner_html = sprintf(
     199            _nx(
     200                'All <span class="count">(%s)</span>',
     201                'All <span class="count">(%s)</span>',
     202                $total_posts,
     203                'posts'
     204            ),
     205            number_format_i18n( $total_posts )
     206        );
     207
     208        $status_links['all'] = "<a href='edit.php?post_type=$post_type{$allposts}'$class>" . $all_inner_html . '</a>';
    181209
    182210        foreach ( get_post_stati(array('show_in_admin_status_list' => true), 'objects') as $status ) {
Note: See TracChangeset for help on using the changeset viewer.