_POST后的WordPress分页修复

时间:2012-09-25 作者:Karolis

我正在使用_posts操作过滤掉一些不需要的帖子——这很好,但应用后的分页会被破坏。例如,如果在应用\\u posts之前有一个包含10个结果的页面,那么在应用之后,该页面仅显示6个posts,但总共有100个posts,其中20个应该被排除在外。

分页显示1-10页,而应显示1-8页。

因此,问题是-如何使分页按预期工作,并在每页显示10篇文章,而不让页面少于10篇文章。

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

而不是使用the_posts 过滤器,你应该试试pre_get_posts 行动

SO网友:alesub

不要在循环中过滤帖子,而应该在循环之后尝试过滤帖子。Query\\u posts()可以解决以下问题:http://codex.wordpress.org/Function_Reference/query_posts

这就是如何“合并”主查询上的修改,以插入任何筛选器,而不影响分页:

global $wp_query;
$args = array_merge( $wp_query->query_vars, array( \'post_type\' => \'product\' ) );
query_posts( $args );

结束

相关推荐

Pagination on 2nd loop

好的,我正在创建一个业务列表网站,该网站使用列表“类型”的自定义分类法。我需要在分类法归档页面上显示两个循环,一个用于“赞助”列表,另一个用于常规列表。分类法存档:http://pastie.org/3187162分页功能:http://pastie.org/3187168这两部分都在做我想做的事情,但有一个问题:在一个特定类别中大约有50个非赞助商列表,但第二个查询最多有5个“页面”(即,如果我将posts\\u per\\u page设置为5,则有25个列表,如果我将posts\\u per\\u p