0

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

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

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

我正在使用它来显示投资组合帖子类型下的类别(成功):

<?php the_category('') ?>

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

4

1 回答 1

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;
}
于 2013-06-18T01:40:57.120 回答