如何删除管理员主菜单名称重复

时间:2014-07-02 作者:Dinoop

我使用add\\u menu\\u页面添加了管理菜单。如果有带有add\\u submenu\\u页面的子菜单,

主菜单名称正在重复。如何删除此重复菜单?wordpress admin sidebar menu

这是我的密码

add_action(\'admin_menu\', \'add_my_menu\');
function add_my_menu(){
    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\');
}

1 个回复
SO网友:chrisdillon

您可以将其从子菜单阵列中删除:

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";

结束