Wordpress 自定义帖子类型在菜单集中显示时缺少分类菜单

Wordpress 自定义帖子类型在菜单集中显示时缺少分类菜单,wordpress,menu,custom-post-type,custom-taxonomy,Wordpress,Menu,Custom Post Type,Custom Taxonomy,我创建了一个带有分类法的自定义post类型,所有工作都很好。 WordPress创建主菜单: MyCustomPost +----------> MyCustomPost +----------> Add New +----------> My Taxonomy 但是,我喜欢创建自己的菜单,如下所示: MyTitle +----------> MyCustomPost +----------> Add New +--------

我创建了一个带有分类法的自定义post类型,所有工作都很好。 WordPress创建主菜单:

MyCustomPost
   +----------> MyCustomPost
   +----------> Add New
   +----------> My Taxonomy
但是,我喜欢创建自己的菜单,如下所示:

MyTitle
   +----------> MyCustomPost
   +----------> Add New
   +----------> My Taxonomy
因此,我创建了一个我自己的菜单:

        $menu_main = add_menu_page( 'MyMenu', 'MyMenu', 'edit_posts', 'my_menu_key', array( $this, 'menu_main'), $icon_menu, 100 );
当注册我的自定义帖子类型时,我使用
my\u menu\u键设置
show\u in\u menu
,并设置其功能

MyMenu
   +----------> MyCustomPost
问题是:分类学在哪里?和`添加新的子菜单?
有什么好主意吗?

在菜单中显示
的好把戏。但是分类法子菜单是和
register\u taxonomy
类似的。“添加新”子菜单的工作方式可能与此相同

解决方法是操作
全局$子菜单

// PHP 5.3+ anonymous function
add_action( 'admin_init', function() {
    global $submenu; 
    $submenu['my_menu_key'][10] = $submenu['edit.php?post_type=YOUR-CPT-SLUG'][10];
    $submenu['my_menu_key'][15] = $submenu['edit.php?post_type=YOUR-CPT-SLUG'][15];
});

您可以通过使用内置的WordPress函数来实现这一点,而不是操纵$global子菜单,以提高将来的兼容性

add_action('admin_menu', 'add_tax_menus');
function add_tax_menus() {
    $key = 'edit.php?post_type=CUSTOM_POST_TYPE_SLUG';
    add_submenu_page($key, 'My Page Title', 'My Menu Title', 'manage_categories', 'edit-tags.php?taxonomy=TAXONOMY_SLUG&post_type=CUSTOM_POST_TYPE_SLUG');
}