我用分类法创建了一个自定义帖子类型,一切正常。 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 );
注册我的自定义帖子类型后,我将show_in_menu
设置为my_menu_key
,并且其工作正常。
MyMenu
+----------> MyCustomPost
问题是:分类学在哪里?和`添加新的子菜单? 有什么想法吗?
答案 0 :(得分:1)
show_in_menu
的好玩法。但是分类法子菜单是built in a hard-coded manner和register_taxonomy
doesn't take any parameter。可能,添加新子菜单的工作方式相同。
解决方法是操纵global $submenu
:
// 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];
});
答案 1 :(得分:1)
您可以通过使用内置的WordPress函数来实现这一目标,而不是操作$ submenu 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');
}
答案 2 :(得分:-1)
这很简单。添加'menu_name' => 'Docs',
检查WordPress Codex了解详情:http://bitly.com/194qjN3