子菜单中弹出的其他菜单项

时间:2013-10-18 作者:Praveen Dabral

我只想制作/添加一个包含两个子菜单(视图、管理)的菜单(Ads)。我的代码写在下面。问题是我不知道为什么会在主菜单中弹出另一个子菜单。

function Ad_menu() {
    // Main menu
    add_menu_page( \'Ads\', \'Ads\', \'manage_options\', \'ad_menu\', \'Main_Menu\');

    // Submenus
    add_submenu_page( \'ad_menu\', \'View\', \'View\', \'manage_options\', \'View\', \'View\');
    add_submenu_page( \'ad_menu\', \'Manage\', \'Manage\', \'manage_options\', \'Manage\', \'Manage\');
}
add_action(\'admin_menu\', \'Ad_menu\');

1 个回复
最合适的回答,由SO网友:brasofilo 整理而成

出现的第三个菜单项(实际上是第一个)是主菜单:

enter image description here

add_action(\'admin_menu\', \'Ad_menu\');

function Ad_menu()
{
    //Main menu
    add_menu_page( 
        \'Ads page title\', 
        \'Ads menu title\', 
        \'manage_options\', 
        \'ad_menu_slug\', 
        function(){ echo \'<h1>Main menu</h1>\'; }
    );
    //Submenus
    add_submenu_page( 
        \'ad_menu_slug\', 
        \'View page title\', 
        \'View menu title\', 
        \'manage_options\', 
        \'ad_view_slug\', // <-- Put main menu slug here
        function(){ echo \'<h2>Views submenu</h2>\'; }
    );
    add_submenu_page( 
        \'ad_menu_slug\', 
        \'Manage page title\', 
        \'Manage menu title\', 
        \'manage_options\', 
        \'ad_manage_slug\', 
        function(){ echo \'<h2>Manage submenu</h2>\'; }
    );
}
如果将第一个子菜单slug更改为ad_menu_slug (主菜单slug),结果如下:

enter image description here

结束

相关推荐

Order Admin sub-menu items?

我正在使用向CPT管理菜单添加项目add_submenu_page 这很好,但它们被添加到CPT选项后的子菜单底部。我希望能够将它们放在最上面,但我想这个问题也可以应用于订购所有基于管理员的子菜单项。我所尝试的(不起作用,我尝试了几种变体),function custom_menu_order($menu_ord) { if (!$menu_ord) return true; return array( \'edi