我为一个名为“公文包”的自定义帖子类型创建了一个自定义分类法,如下所示:
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
它工作得很好,即使分页在站点中的其他任何地方都工作得很好。
你们能帮帮我吗?提前感谢!
最合适的回答,由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
函数,只剩下常规循环:)