我有个奇怪的问题。我正在编写一个自定义的后期归档页面。我使用wp约定,所以我有一个“项目”自定义帖子类型和一个归档项目。php页面,正确显示项目帖子。
问题是,目前我收到的帖子远不止10篇,但页面总是最多有10篇帖子,尽管有管理员设置或wo\\U查询修改。如果我设置的帖子少于10篇,它们将正确显示。如果我设置的值超过10(来自admin),或者如果我通过代码禁用分页,则它们将始终不超过10。
更奇怪的是:我检查了生成的查询,如果禁用分页,它正确地不包含任何限制约束。不过,返回的帖子有10个。
现在,我真正想要的只是显示所有帖子的页面,因此,没有分页。我已经尝试过几种方法(我是一名程序员,我知道wordpress)这样(以及其他方法):
function set_projects_query($query) {
if(is_admin() || !$query->is_main_query()) return $query; //do nothing
if($query->is_post_type_archive(array(\'project\',\'competition\'))){
// $query->set(\'posts_per_page\', -1); < this first
// $query->set(\'posts_per_archive_page\', -1); < then this
$query->set(\'nopaging\', true); // < then this
}
}
add_action(\'pre_get_posts\',\'set_projects_query\');
同样,我得到的是一个正确的查询:
$wp_query->request
将显示一个没有任何限制的查询,不过,只有10篇帖子。
为什么?有什么想法吗?