我创建了一个名为user-story
的自定义帖子类型。 $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:添加新故事页面 - 除了列出的内置分类category
之外,没有上述分类法
我引用了this。
答案 0 :(得分:3)
这个应该有所帮助: https://codex.wordpress.org/Function_Reference/register_taxonomy
将此代码放在functions.php文件中,并将自定义分类法添加到自定义帖子类型中。
<?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 );
}
?>