为什么自定义POST存档总是不超过10篇帖子,而不考虑分页设置?

时间:2015-08-17 作者:Luca Reghellin

我有个奇怪的问题。我正在编写一个自定义的后期归档页面。我使用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篇帖子。

为什么?有什么想法吗?

1 个回复
SO网友:Luca Reghellin

好的,找到问题。通过分析生成的查询,我意识到它正确地搜索了当前的语言帖子。我目前使用polylang作为多语言插件,它可以正确地将帖子与“语言”分类法相关联。

现在,我有10多个项目帖子,但在当前语言中只有10个。

现在一切都好了。

结束

相关推荐

Pagination - not progressing

好的,我添加了以下分页标记:<?php next_posts_link( \'Older posts\' ); ?> <?php previous_posts_link( \'Newer posts\' ); ?> 我可以在地址栏中看到查询字符串正在正确更改e、 g.localhost:8888/wordpress/?页码=3但是,页面结果保持不变(显示最初的前10个结果)。我这里出了什么问题?编辑:下面是代码(没有任何HTML):<!--Latest Po

为什么自定义POST存档总是不超过10篇帖子,而不考虑分页设置? - 小码农CODE - 行之有效找到问题解决它

为什么自定义POST存档总是不超过10篇帖子,而不考虑分页设置?

时间:2015-08-17 作者:Luca Reghellin

我有个奇怪的问题。我正在编写一个自定义的后期归档页面。我使用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篇帖子。

为什么?有什么想法吗?

1 个回复
SO网友:Luca Reghellin

好的,找到问题。通过分析生成的查询,我意识到它正确地搜索了当前的语言帖子。我目前使用polylang作为多语言插件,它可以正确地将帖子与“语言”分类法相关联。

现在,我有10多个项目帖子,但在当前语言中只有10个。

现在一切都好了。

相关推荐

在Get_the_Posts_Pagination函数中编辑分页文本

我想在链接模板中编辑screen\\u reader\\u文本。php我可以在一个主题中这样做,这样它就不会在更新时被覆盖。看起来过滤器是最好的选择,但我找不到关于使用什么过滤器的文档。这是我想从链接模板更改的代码。php: if ( $GLOBALS[\'wp_query\']->max_num_pages > 1 ) { $args = wp_parse_args( $args, array( \'mid_size\' =&