跨帖子添加类别,并自定义帖子类型

时间:2012-03-28 作者:Adam

我目前有一个与我的“帖子”相关的类别列表。我希望我的自定义帖子类型“服务”和“工作”也有相同的类别

以下代码将标记和类别添加到工作和服务自定义帖子中。

add_action(\'init\', \'demo_add_default_boxes\');

function demo_add_default_boxes() {
    register_taxonomy_for_object_type(\'category\', \'work\');
    register_taxonomy_for_object_type(\'post_tag\', \'work\');
    register_taxonomy_for_object_type(\'category\', \'services\');
    register_taxonomy_for_object_type(\'post_tag\', \'services\');
}
但当我对一个工作/服务帖子进行分类时,它不会出现在/类别/页面上,只会显示该类别中的“帖子”。

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

默认情况下,类别页面上仅显示post\\u类型的帖子。要启用自定义帖子类型,可以挂接pre_get_posts, 检查它是否是类别页面,如果是,请添加您的帖子类型:

function wpse_category_set_post_types( $query ){
    if( $query->is_category() && $query->is_main_query() ){
        $query->set( \'post_type\', array( \'post\', \'work\', \'services\' ) );
    }
}
add_action( \'pre_get_posts\', \'wpse_category_set_post_types\' );

结束

相关推荐