我有一组自定义的帖子类型,如“CPT a”、“CPT B”和“CPT C”。我将其中每个页面的管理页面显示为公共管理页面下的子页面。
add_menu_page(\'Console\',
\'Console\',
\'plugin_console\',
\'plugin\',
array ( $this, \'page_main\' ),
"http://example.com/favicon.ico",
6
);
还有CPT的自定义分类法,其中一些是共享的。
我要做的是,在管理窗格中,从主菜单添加子菜单页面,该页面链接到编辑标签中的分类法。php。
add_submenu_page(\'plugin\',
\'Taxonomy\',
\'Taxonomy\',
\'manage_options\',
\'plugin-taxonomy\',
array( $this, \'page_taxonomy\' )
);
我遇到的问题是列表无法填充。欢迎就好的/更好的方法提出任何建议。
作为后续行动,我想要一个类似以下内容的菜单:
-Console
--CPT A
--CPT B
--CPT C
--Taxonomy 1
--Taxonomy 2
最合适的回答,由SO网友:brasofilo 整理而成
我们可以操纵全球$menu
和$submenu
内部admin_menu
钩但更容易让Mike Schinkel\'s WP Admin Menu Classes 照顾好它。
require_once(\'inc/wp-admin-menu-classes.php\');
add_action( \'admin_menu\', function()
{
$plugin_page = \'wpse_114343\';
add_menu_page(
\'Console\',
\'Console\',
\'edit_pages\',
$plugin_page,
function() {},
"http://cdn.sstatic.net/stackexchange/img/favicon.ico",
6
);
// Move the CPT Movie and remove original
$cpt = "edit.php?post_type=movie";
copy_admin_menu_item( $plugin_page,$cpt );
remove_admin_menu_section( $cpt );
// Move the CPT Page and remove original
$cpt2 = "edit.php?post_type=page";
copy_admin_menu_item( $plugin_page, $cpt2 );
remove_admin_menu_section( $cpt2 );
// Move Posts Category and Tags and remove originals
$cat = "edit-tags.php?taxonomy=category";
$tag = "edit-tags.php?taxonomy=post_tag";
$tax_menu = \'edit.php\';
copy_admin_menu_item( $plugin_page, $tax_menu, $cat );
copy_admin_menu_item( $plugin_page, $tax_menu, $tag );
remove_admin_menu_item( $tax_menu, $cat );
remove_admin_menu_item( $tax_menu, $tag );
});