WordPress:如何在自定义帖子类型中添加多个分类

时间:2017-02-15 07:58:02

标签: wordpress custom-post-type custom-taxonomy

我创建了一个名为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-typegenre。只显示category

story-typegenre都是自定义分类法。我停用了CPT插件(user_story),然后重新激活了它。但仍然没有出现上面的自定义分类法。

两种自定义分类都是通过插件注册的,并且在管理菜单中可见。在这些分类标准下注册的条款也会显示在各自的列表页面中。

屏幕截图-1:在分类story-type

中注册的术语列表

enter image description here

屏幕截图-2:在分类genre

中注册的术语列表

enter image description here

屏幕截图-3:添加新故事页面 - 除了列出的内置分类category之外,没有上述分类法

enter image description here

我引用了this

1 个答案:

答案 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 );

}
?>