diff --git a/wp-admin/includes/default-list-tables.php b/wp-admin/includes/default-list-tables.php index 6706ec31d0..97adf2f5c0 100644 --- a/wp-admin/includes/default-list-tables.php +++ b/wp-admin/includes/default-list-tables.php @@ -62,7 +62,7 @@ class WP_Posts_Table extends WP_List_Table { $avail_post_stati = wp_edit_posts_query(); - $this->hierarchical_display = ( $post_type_object->hierarchical && 0 === strpos( get_query_var( 'orderby' ), 'menu_order' ) ); + $this->hierarchical_display = ( $post_type_object->hierarchical && 'menu_order title' == $wp_query->query['orderby'] ); $total_items = $this->hierarchical_display ? $wp_query->post_count : $wp_query->found_posts; diff --git a/wp-includes/query.php b/wp-includes/query.php index 3a8c1e9b60..226778886c 100644 --- a/wp-includes/query.php +++ b/wp-includes/query.php @@ -1246,11 +1246,7 @@ class WP_Query { function parse_query($query) { if ( !empty($query) || !isset($this->query) ) { $this->init(); - if ( is_array($query) ) - $this->query_vars = $query; - else - parse_str($query, $this->query_vars); - $this->query = $query; + $this->query = $this->query_vars = wp_parse_args($query); } $this->query_vars = $this->fill_query_vars($this->query_vars);