我有这个循环,可以为自定义帖子类型的投资组合选择类别:
$wp_query = new WP_Query(array('category__in' => $portfolio_cat, 'post_type' => 'portfolio', 'showposts'=>$number_of_posts) );
它使用标准wordpress类别,但仅显示这些类别中的投资组合类型帖子。问题是,我想列出投资组合帖子所在的类别,但是当点击该类别时,它会导致找不到404。
我使用它来显示投资组合职位类型下的类别(成功):
<?php the_category('') ?>
有没有办法让自定义帖子类型使用标准类别而不是自定义分类,并且能够点击类别转到列出该类别中所有帖子的页面?
答案 0 :(得分:2)
你必须使用
'taxonomies' => array('category')
在register_post_type()
函数中,使其与类别相关联。此外,您可以使用此
register_taxonomy_for_object_type('category','portfolio');
调用register_post_type()
函数后
。
如果您希望自定义帖子类型的帖子显示在标准档案中,或者将其与其他帖子类型混合在主页上,请使用pre_get_posts操作挂钩。
add_action( 'pre_get_posts', 'add_my_post_types_to_query' );
function add_my_post_types_to_query( $query ) {
if ( is_home() && $query->is_main_query() )
{
$query->set( 'post_type', array( 'post', 'page', 'portfolio' ) );
}
return $query;
}