您可以将其从子菜单阵列中删除:
function add_my_menu(){
global $submenu;
add_menu_page( \'Main Menu\', \'Main Menu\', \'manage_options\', \'main-menu-settings\', \'main_menu_settings\');
add_submenu_page( \'main-menu-settings\', \'Sub Menu\', \'sub menu\', \'manage_options\', \'sub-menu\', \'sub_menu_settings\');
unset( $submenu[\'main-menu-settings\'][0] );
}
父项添加方式
add_submenu_page
在里面
plugin.php
作为第一个链接,如果父级没有子菜单,则会导致:
[main-menu-settings] => Array
(
[0] => Array
(
[0] => Main Menu
[1] => manage_options
[2] => main-menu-settings
[3] => Main Menu
[4] => menu-top menu-icon-generic toplevel_page_main-menu-settings
[5] => toplevel_page_main-menu-settings
[6] => dashicons-admin-generic
)
[1] => Array
(
[0] => sub menu
[1] => manage_options
[2] => sub-menu
[3] => Sub Menu
)
)
正在添加到
$submenu
.
我假设UI的决策是沿着“不要让我思考”的路线。所有菜单链接都分组在同一个位置,因此用户无需记住单击侧栏中的父链接即可转到该部分的主页。因此,侧边栏中父链接的主要目的是打开子菜单。
如果用户将鼠标悬停在子菜单上,试图确定要转到哪个页面,而主页未列出,则他们可能不会考虑单击侧边栏中的父链接。
由于其他WordPress菜单都是这样工作的,请考虑保持原样。
另一种选择是使其更具描述性。
global $submenu;
$submenu[\'main-menu-settings\'][0][0] = "My Plugin Main Menu";