分页在自定义分类归档页面上引发404错误

时间:2012-03-16 作者:Javier Villanueva

我为一个名为“公文包”的自定义帖子类型创建了一个自定义分类法,如下所示:

function jvs_portfolio_categories_init() {
    register_taxonomy(
        \'project-category\',
        \'portfolio\',
        array(
      \'label\'        => __( \'Project Categories\' ),
      \'query_var\'    => true,
      \'hierarchical\' => true
        )
    );
}
add_action( \'init\', \'jvs_portfolio_categories_init\' );
然后我添加了一个archives.php 页面以便我可以显示这些分类中的帖子,问题是第二页的分页会中断,这基本上是我在归档页面中的循环:

<?php $paged = (get_query_var(\'page\')) ? get_query_var(\'page\') : 1; ?>
<?php global $query_string; query_posts($query_string . \'&post_type=portfolio&paged=\' . $paged); ?>
<?php if (have_posts()) while (have_posts()) : the_post(); ?>
     // Stuff here
<?php endwhile; ?> 
当我尝试转到第二页时,它显示了一个404页错误,我使用的是非常永久的链接,但是如果我手动替换/page/2 url中的参数?page=2 它工作得很好,即使分页在站点中的其他任何地方都工作得很好。

你们能帮帮我吗?提前感谢!

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

此功能修复了以下问题:

function change_posttype() {
  if( is_archive() && !is_admin() ) {
    set_query_var( \'post_type\', array( \'post\', \'portfolio\' ) );
  }
}
add_action( \'parse_query\', \'change_posttype\' );
然后我删除了页面query_string 函数,只剩下常规循环:)

结束

相关推荐

WP_query and pagination?

我必须获得一些自定义的帖子类型,并且需要使用WP\\u Query(Query\\u帖子不起作用)。如何分页?不管我怎么做都没用。。。任何帮助都太棒了,我无法独自解决这个问题。。。$args = array( \'tax_query\' => array( \'posts_per_page\' => 5, array( \'author\' => $user_id, \'taxonomy\' => \'c