每页的帖子仍然是10

时间:2016-01-26 11:08:58

标签: wordpress paging posts wp-query

我有这段代码:

query_posts(array(
    'paged' => $paged,
    'post_status' => 'publish',
    'posts_per_page' => 6,
    'cat' => $term_id,
    'orderby' => 'date',
    'order' => 'DESC',
    'post_type' => 'post'
));

while (have_posts()) {
    the_post();
    ...
}

但是我仍然会得到10个帖子,而不仅仅是6. get_query_var('posts_per_page', 1)我的价值是10而不是6.为什么?

这发生在category.php页面上,在主页上正常工作。

3 个答案:

答案 0 :(得分:1)

您仍在使用默认查询。请改用:

    // The Query
    $the_query = new WP_Query( array(
    'paged' => $paged,
    'post_status' => 'publish',
    'posts_per_page' => 6,
    'cat' => $term_id,
    'orderby' => 'date',
    'order' => 'DESC',
    'post_type' => 'post'
    ));

// The Loop
if ( $the_query->have_posts() ) {

答案 1 :(得分:0)

试试这个

$args = array ( 
      'paged' => $paged,
      'post_status' => 'publish',
      'posts_per_page' => 6,
      'cat' => $term_id,
      'orderby' => 'date',
      'order' => 'DESC',
      'post_type' => 'post'
    );
 $query = new WP_Query($args);
 if ( $query->have_posts() ) : 
   while ( $query->have_posts() ) : $query->the_post();
   /* Your Code */
   endwhile; 
 endif ;

答案 2 :(得分:0)

这个适合你。修改直接全局变量。

    global $query_string;
    query_posts("{$query_string}&posts_per_page=6");

    while (have_posts()) {
        the_post();
        ...
    }