function remove_submenu() {
remove_submenu_page( \'edit.php\', \'edit-tags.php?taxonomy=faq-topic&post_type=question\' );
remove_submenu_page( \'edit.php\', \'edit-tags.php?taxonomy=faq-tags&post_type=question\' );
}
add_action( \'admin_menu\', \'remove_submenu\', 999 );
请阅读
Codex.
remove_submenu_page()
需要两个参数和右挂钩。
和very 重要提示:在挂钩中使用非常、非常、非常高的优先级!如果使用低优先级,将在添加菜单之前执行功能。因此没有要删除的菜单。如果使用高优先级,则很有可能执行您的函数after 菜单已添加。
这可能是棘手的部分。
UPDATE
安装并检查插件后,我找到了解决方案。有几个问题和一些棘手的部分。
子菜单包括not 添加了add_submenu_page()
, 它们是使用自定义帖子类型添加的。简单的搜索方式add_submenu_page()
, 复制菜单段塞和删除菜单必须失败。我必须搜索cpt slug并使用它。
之后global $submenu; var_dump( $submenu );
我得到这个输出
[more elements]
\'edit.php?post_type=question\' =>
array (size=7)
5 =>
array (size=3)
0 => string \'FAQs\' (length=4)
1 => string \'edit_posts\' (length=10)
2 => string \'edit.php?post_type=question\' (length=27)
10 =>
array (size=3)
0 => string \'Neue FAQ\' (length=8)
1 => string \'edit_posts\' (length=10)
2 => string \'post-new.php?post_type=question\' (length=31)
15 =>
array (size=3)
0 => string \'FAQ Titel\' (length=9)
1 => string \'manage_categories\' (length=17)
2 => string \'edit-tags.php?taxonomy=faq-topic&post_type=question\' (length=55)
16 =>
array (size=3)
0 => string \'FAQ Tags\' (length=8)
1 => string \'manage_categories\' (length=17)
2 => string \'edit-tags.php?taxonomy=faq-tags&post_type=question\' (length=54)
[ more elements ]
现在,使用
edit.php?post_type=question
作为菜单段塞和
edit-tags.php?taxonomy=faq-topic&post_type=question
/
edit-tags.php?taxonomy=faq-tags&post_type=question
作为子菜单段塞。
如果仔细观察,则会显示与(&;)是html实体。仅复制url部分并插入它是不可能的。因此,您不能删除带有未编码url的子菜单页,它必须是url编码的。
这是最后的代码:
add_action( \'admin_menu\', \'remove_faq_subpages\', 999 );
function remove_faq_subpages() {
$ptype = \'question\';
remove_submenu_page( "edit.php?post_type={$ptype}", "edit-tags.php?taxonomy=faq-tags&post_type={$ptype}" );
remove_submenu_page( "edit.php?post_type={$ptype}", "edit-tags.php?taxonomy=faq-topics&post_type={$ptype}" );
}