WordPress:如何在自定义 post post 类型中添加多个分类法
WordPress: How do I add more than one taxonomies in a custom post post type
我创建了一个名为 user-story
的自定义 Post 类型。 $args
看起来像这样:
$args = array(
'labels' => $labels,
'hierarchical' => true,
'description' => 'description',
'taxonomies' => array('category', 'story-type', 'genre'),
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'menu_icon' => 'http://webmaster.webmastersuccess.netdna-cdn.com/wp-content/uploads/2015/03/pencil.png',
'public' => true,
'has_archive' => true,
'query_var' => true,
'capability_type' => 'post',
'supports' => $supports,
'rewrite' => $rewrite,
'register_meta_box_cb' => 'add_story_metaboxes' );
register_post_type('user_story', $args);
问题在行'taxonomies' => array('category', 'story-type', 'genre'),
。我在管理员的 添加新故事 页面中看不到我的分类法 story-type
和 genre
。只有 category
出现了。
story-type
和 genre
都是自定义分类法。我停用了 CPT 插件 (user_story
),然后重新激活了它。但仍然高于自定义分类法。
这两种自定义分类法都是通过插件注册的,它们在管理菜单中可见。在这些分类下注册的术语也显示在各自的列表页面中。
屏幕截图 1:在分类法中注册的术语列表 story-type
屏幕截图 2:在分类法中注册的术语列表 genre
屏幕截图 3:“添加新故事”页面 - none 以上分类法仅列出内置分类法 category
我引用了 this。
这个应该有帮助:
https://developer.wordpress.org/reference/functions/register_taxonomy/
将此代码放入您的 functions.php 文件中,自定义分类法应添加到您的自定义 post 类型中。
<?php
add_action( 'init', 'create_user_story_tax' );
function create_user_story_tax() {
/* Create Genre Taxonomy */
$args = array(
'label' => __( 'Genre' ),
'rewrite' => array( 'slug' => 'genre' ),
'hierarchical' => true,
)
register_taxonomy( 'genre', 'user-story', $args );
/* Create Story Type Taxonomy */
$args = array(
'label' => __( 'Story Type' ),
'rewrite' => array( 'slug' => 'story-type' ),
'hierarchical' => true,
)
register_taxonomy( 'story-type', 'user-story', $args );
}
?>
我创建了一个名为 user-story
的自定义 Post 类型。 $args
看起来像这样:
$args = array(
'labels' => $labels,
'hierarchical' => true,
'description' => 'description',
'taxonomies' => array('category', 'story-type', 'genre'),
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'menu_icon' => 'http://webmaster.webmastersuccess.netdna-cdn.com/wp-content/uploads/2015/03/pencil.png',
'public' => true,
'has_archive' => true,
'query_var' => true,
'capability_type' => 'post',
'supports' => $supports,
'rewrite' => $rewrite,
'register_meta_box_cb' => 'add_story_metaboxes' );
register_post_type('user_story', $args);
问题在行'taxonomies' => array('category', 'story-type', 'genre'),
。我在管理员的 添加新故事 页面中看不到我的分类法 story-type
和 genre
。只有 category
出现了。
story-type
和 genre
都是自定义分类法。我停用了 CPT 插件 (user_story
),然后重新激活了它。但仍然高于自定义分类法。
这两种自定义分类法都是通过插件注册的,它们在管理菜单中可见。在这些分类下注册的术语也显示在各自的列表页面中。
屏幕截图 1:在分类法中注册的术语列表 story-type
屏幕截图 2:在分类法中注册的术语列表 genre
屏幕截图 3:“添加新故事”页面 - none 以上分类法仅列出内置分类法 category
我引用了 this。
这个应该有帮助: https://developer.wordpress.org/reference/functions/register_taxonomy/
将此代码放入您的 functions.php 文件中,自定义分类法应添加到您的自定义 post 类型中。
<?php
add_action( 'init', 'create_user_story_tax' );
function create_user_story_tax() {
/* Create Genre Taxonomy */
$args = array(
'label' => __( 'Genre' ),
'rewrite' => array( 'slug' => 'genre' ),
'hierarchical' => true,
)
register_taxonomy( 'genre', 'user-story', $args );
/* Create Story Type Taxonomy */
$args = array(
'label' => __( 'Story Type' ),
'rewrite' => array( 'slug' => 'story-type' ),
'hierarchical' => true,
)
register_taxonomy( 'story-type', 'user-story', $args );
}
?>