Administration: Don't override the `$mode` global in `WP_Screen::render_view_mode()` if it's already set.

Follow-up to [48398], [48423], [48424], [48450].

See #49715.

git-svn-id: https://develop.svn.wordpress.org/trunk@48670 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2020-07-28 16:53:03 +00:00
parent af4127ab84
commit d3614d49fe
2 changed files with 7 additions and 2 deletions

View File

@ -78,17 +78,20 @@ class WP_Comments_List_Table extends WP_List_Table {
}
/**
* @global string $mode List table view mode.
* @global int $post_id
* @global string $comment_status
* @global string $comment_type
* @global string $search
*/
public function prepare_items() {
global $post_id, $comment_status, $comment_type, $search;
global $mode, $post_id, $comment_status, $comment_type, $search;
if ( ! empty( $_REQUEST['mode'] ) ) {
$mode = 'excerpt' === $_REQUEST['mode'] ? 'excerpt' : 'list';
set_user_setting( 'posts_list_mode', $mode );
} else {
$mode = get_user_setting( 'posts_list_mode', 'list' );
}
$comment_status = isset( $_REQUEST['comment_status'] ) ? $_REQUEST['comment_status'] : 'all';

View File

@ -1313,7 +1313,9 @@ final class WP_Screen {
return;
}
$mode = get_user_setting( 'posts_list_mode', 'list' );
if ( ! isset( $mode ) ) {
$mode = get_user_setting( 'posts_list_mode', 'list' );
}
// This needs a submit button.
add_filter( 'screen_options_show_submit', '__return_true' );