WordPress.org

Make WordPress Core

Ticket #7326: 7326.2.diff

File 7326.2.diff, 2.2 KB (added by DD32, 7 years ago)
  • wp-includes/query.php

     
    778778                if ( !empty($qv['post_status']) ) 
    779779                        $qv['post_status'] = preg_replace('|[^a-z0-9_,-]|', '', $qv['post_status']); 
    780780 
    781                 if ( $this->is_posts_page && !$qv['withcomments'] ) 
     781                if ( $this->is_posts_page && ( ! isset($qv['withcomments']) || ! $qv['withcomments'] ) ) 
    782782                        $this->is_comment_feed = false; 
    783783 
    784784                $this->is_singular = $this->is_single || $this->is_page || $this->is_attachment; 
     
    832832                $join = ''; 
    833833                $search = ''; 
    834834                $groupby = ''; 
     835                $fields = "$wpdb->posts.*"; 
    835836                $post_status_join = false; 
     837                $page = 1; 
    836838 
    837839                if ( !isset($q['caller_get_posts']) ) 
    838840                        $q['caller_get_posts'] = false; 
     
    14321434                                $where = "AND 0"; 
    14331435                } 
    14341436 
     1437                $orderby = $q['orderby']; 
     1438 
    14351439                // Apply post-paging filters on where and join.  Only plugins that 
    14361440                // manipulate paging queries should use these hooks. 
    14371441                if ( !$q['suppress_filters'] ) { 
    14381442                        $where = apply_filters('posts_where_paged', $where); 
    14391443                        $groupby = apply_filters('posts_groupby', $groupby); 
    14401444                        $join = apply_filters('posts_join_paged', $join); 
    1441                         $orderby = apply_filters('posts_orderby', $q['orderby']); 
     1445                        $orderby = apply_filters('posts_orderby', $orderby); 
    14421446                        $distinct = apply_filters('posts_distinct', $distinct); 
    1443                         $fields = apply_filters('posts_fields', "$wpdb->posts.*"); 
     1447                        $fields = apply_filters('posts_fields', $fields); 
    14441448                        $limits = apply_filters( 'post_limits', $limits ); 
    14451449                } 
    14461450 
     
    14661470                if ( !empty($limits) ) 
    14671471                        $found_rows = 'SQL_CALC_FOUND_ROWS'; 
    14681472 
    1469                 $request = " SELECT $found_rows $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby $orderby $limits"; 
     1473                $this->request = " SELECT $found_rows $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby $orderby $limits"; 
    14701474                if ( !$q['suppress_filters'] ) 
    1471                         $this->request = apply_filters('posts_request', $request); 
     1475                        $this->request = apply_filters('posts_request', $this->request); 
    14721476 
    14731477                $this->posts = $wpdb->get_results($this->request); 
    14741478                // Raw results filter.  Prior to status checks.