List Tables: After [35622] and [34271], improve pagination logic when queries are altered.
Props bradyvercher. Fixes #29870. git-svn-id: https://develop.svn.wordpress.org/trunk@35683 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
d2d6241aa5
commit
0749514c94
@ -151,7 +151,7 @@ class WP_Posts_List_Table extends WP_List_Table {
|
|||||||
|
|
||||||
if ( $this->hierarchical_display ) {
|
if ( $this->hierarchical_display ) {
|
||||||
$total_items = $wp_query->post_count;
|
$total_items = $wp_query->post_count;
|
||||||
} elseif ( isset( $_REQUEST['s'] ) ) {
|
} elseif ( $wp_query->found_posts || $this->get_pagenum() === 1 ) {
|
||||||
$total_items = $wp_query->found_posts;
|
$total_items = $wp_query->found_posts;
|
||||||
} else {
|
} else {
|
||||||
$post_counts = (array) wp_count_posts( $post_type, 'readable' );
|
$post_counts = (array) wp_count_posts( $post_type, 'readable' );
|
||||||
@ -172,8 +172,6 @@ class WP_Posts_List_Table extends WP_List_Table {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$total_pages = ceil( $total_items / $per_page );
|
|
||||||
|
|
||||||
if ( ! empty( $_REQUEST['mode'] ) ) {
|
if ( ! empty( $_REQUEST['mode'] ) ) {
|
||||||
$mode = $_REQUEST['mode'] === 'excerpt' ? 'excerpt' : 'list';
|
$mode = $_REQUEST['mode'] === 'excerpt' ? 'excerpt' : 'list';
|
||||||
set_user_setting ( 'posts_list_mode', $mode );
|
set_user_setting ( 'posts_list_mode', $mode );
|
||||||
@ -185,7 +183,6 @@ class WP_Posts_List_Table extends WP_List_Table {
|
|||||||
|
|
||||||
$this->set_pagination_args( array(
|
$this->set_pagination_args( array(
|
||||||
'total_items' => $total_items,
|
'total_items' => $total_items,
|
||||||
'total_pages' => $total_pages,
|
|
||||||
'per_page' => $per_page
|
'per_page' => $per_page
|
||||||
) );
|
) );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user