WordPress分页在某些页面之后不显示帖子

时间:2013-03-12 作者:certainstrings

我对分页有问题。我有一个媒体类别,使用类别媒体。php模板。我有一个带有分页变量的自定义循环。总共有30个职位。

示例:

$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;

$args = array(
   \'posts_per_page\'   =>  3,
   \'category_name\' =>  \'media\',
   \'paged\' => $paged
);

$my_loop = new WP_Query( $args );

echo $my_loop->max_num_pages . "<br><br>";

while ($my_loop->have_posts()) : $my_loop->the_post();

  echo get_the_title() . "<br><br><br>";

endwhile;

wp_pagenavi( array( \'query\' => $my_loop ) );
分页显示良好,max\\u num\\u pages甚至回显10页。当我开始单击分页链接时,超过第5页的页面不会显示任何内容。我的阅读设置为每页6。如果我注释掉posts\\u per\\u page参数,分页工作正常。

我觉得我忽略了一些简单的事情。有什么想法吗?

1 个回复
最合适的回答,由SO网友:Milo 整理而成

WordPress根据主查询的结果确定是否存在分页页面。每个页面实际上查询6篇文章,而您的自定义查询只加载3篇。

解决方案-不要在模板中创建新查询,请使用pre_get_posts 通过主题的functions.php

function wpa90437_media_category( $query ) {
    if ( $query->is_category(\'media\') && $query->is_main_query() ) {
        $query->set( \'posts_per_page\', 3 );
    }
}
add_action( \'pre_get_posts\', \'wpa90437_media_category\' );
然后在模板中运行普通循环。

结束

相关推荐

Gallery Pagination by Row

我在以下位置创建了一个图片库:http://ellenandjosh.com/?page_id=5. 目前,我有一个循环,在一定数量的图像之后显示分页:http://pastebin.com/N6nRRUei.通常情况下,这很好。。。但通常我没有不同宽度的图像。WordPress按高度裁剪图像,宽度可变。我想做的是在三行图像之后,然后添加分页按钮。。。而不是在一定数量的图像后显示分页按钮。。。这可能吗?第1页还可以,虽然底部行中可能会有更多图像-第2页只有两行,第3页第三行只有一个图像-尽管有更多图像。。