自定义文章类型分类共享咨询:不同类型能否共用同一分类类型?
当然可以!同一分类类型跨所有自定义文章类型复用的实现方法
完全没问题,你不需要为每个自定义文章类型单独创建重复的分类类型,只需要在注册分类或修改已有分类设置时关联多个文章类型即可,这样特定分类就能在所有目标文章类型中直接使用。
下面分两种场景给出具体实现方式:
一、注册新分类时直接关联多个文章类型
当你通过代码注册自定义分类时,只需在register_taxonomy()函数的object_type参数中,传入包含所有目标文章类型slug的数组即可。
示例代码:
function register_shared_taxonomy() { $args = array( 'label' => __( '共享分类', 'textdomain' ), 'rewrite' => array( 'slug' => 'shared-category' ), 'hierarchical' => true, // 这里添加所有需要关联的文章类型slug 'object_type' => array( 'post', 'product', 'portfolio', 'event' ) ); register_taxonomy( 'shared_category', array(), $args ); } add_action( 'init', 'register_shared_taxonomy' );
注:object_type数组可包含默认文章类型(比如post、page)和你的自定义文章类型slug。
二、给已有的分类添加其他文章类型支持
如果你已经有现成的分类(比如默认的「分类」category,或是之前创建的自定义分类),想要让它支持更多文章类型,可以用register_taxonomy_for_object_type()函数来关联。
示例代码:
function add_taxonomy_to_cpts() { // 让默认分类category支持自定义文章类型product和portfolio register_taxonomy_for_object_type( 'category', 'product' ); register_taxonomy_for_object_type( 'category', 'portfolio' ); // 如果是自定义分类(比如之前的shared_category),支持event类型 register_taxonomy_for_object_type( 'shared_category', 'event' ); } add_action( 'init', 'add_taxonomy_to_cpts' );
效果说明
设置完成后:
- 在编辑任意关联的文章类型时,右侧都会显示这个共享分类的选择框,无需重复创建
- 该分类的归档页面会自动包含所有关联文章类型下的内容,不用额外配置
内容的提问来源于stack exchange,提问作者WordCent
相关产品推荐
相关产品推荐

