wordpress the_category用于自定义帖子类型

时间:2013-06-18 00:52:42

标签: php html wordpress loops custom-post-type

我有这个循环,可以为自定义帖子类型的投资组合选择类别:

$wp_query = new WP_Query(array('category__in' => $portfolio_cat, 'post_type' => 'portfolio', 'showposts'=>$number_of_posts) );

它使用标准wordpress类别,但仅显示这些类别中的投资组合类型帖子。问题是,我想列出投资组合帖子所在的类别,但是当点击该类别时,它会导致找不到404。

我使用它来显示投资组合职位类型下的类别(成功):

<?php the_category('') ?>

有没有办法让自定义帖子类型使用标准类别而不是自定义分类,并且能够点击类别转到列出该类别中所有帖子的页面?

1 个答案:

答案 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;
}