有没有办法一次取消注册所有子菜单,而不是使用下面的代码?
remove_submenu_page(\'myplugin\', \'sub-page-1\');
remove_submenu_page(\'myplugin\', \'sub-page-2\');
remove_submenu_page(\'myplugin\', \'sub-page-3\');
remove_submenu_page(\'myplugin\', \'sub-page-4\');
remove_submenu_page(\'myplugin\', \'sub-page-5\');
...
...
想法是。。。
remove_submenu_page(\'myplugin\', all);???
最合适的回答,由SO网友:Stephen Harris 整理而成
不接触全球$submenu
直接(我不建议这样做-通常,仅使用故意公开的API可以提供更好的稳定性)。
但是,如果您希望函数删除所有子菜单:
/**
* Removes all submenus of given menu item
*
* @param string $menu_slug The slug of the parent menu to remove submenus of
*/
function wpse137406_remove_submenus( $menu_slug ) {
global $submenu;
if ( isset( $submenu[$menu_slug] ) ){
unset( $submenu[$menu_slug] );
}
}