带自定义查询的索引上的分页404

时间:2013-06-30 作者:waffl

在我的wordpress索引中,我使用自定义查询:

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

$project_query = new WP_query(array(
  \'post_type\' => \'project\',
  \'paged\' => $paged,
  \'posts_per_page\' => 5
));
我正在使用wp-paginate 设置页码,但不管怎样,只要我尝试转到下一页,例如:http://domain/page/2 我得到一个404错误。

我真的一辈子都搞不清楚发生了什么事。我已经将wordpress阅读选项设置为相同的数字,并且我的永久链接结构设置为Post name.

非常感谢任何提示,我知道分页404是很多人的常见问题,但我还没有找到与索引有相同问题的人。

1 个回复
SO网友:Milo

404中是否存在页面或结果取决于主查询的结果,这发生在加载模板之前。WordPress不“知道”您的自定义查询,它与主查询是分开的,并且只有在主查询导致加载包含它的模板时才会发生。

您可以在主查询通过发送到数据库之前修改它,而不是创建此自定义查询pre_get_posts 行动此代码将放在您的主题中functions.php 文件:

function wpa_front_page_projects( $query ) {
    if ( $query->is_front_page() && $query->is_main_query() ) {
        $query->set( \'post_type\', array( \'project\' ) );
        $query->set( \'posts_per_page\', 5 );
    }
}
add_action( \'pre_get_posts\', \'wpa_front_page_projects\' );

结束

相关推荐

WP_Query breaks pagination

我已经研究这个问题一周了。我搜索了无数没有回答这个问题的帖子。我的wp\\u查询似乎破坏了分页。我已经在这里浏览了很多关于wp\\U查询和分页的帖子,但仍然毫无乐趣。据我所知,它的设置是正确的。我有一个实例,它将在一个页面中显示所有帖子,而在另一个页面中,它会重复每个页面上的内容。请参阅下面的代码,以获取带注释的精简版本。有人知道问题出在哪里吗?<?php /* Let\'s asume that this is the search query in the