我目前有一个与我的“帖子”相关的类别列表。我希望我的自定义帖子类型“服务”和“工作”也有相同的类别
以下代码将标记和类别添加到工作和服务自定义帖子中。
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\');
}
但当我对一个工作/服务帖子进行分类时,它不会出现在/类别/页面上,只会显示该类别中的“帖子”。
最合适的回答,由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\' );