为第一个子菜单项使用不同名称的Add_Menu_Page()

时间:2012-09-27 作者:MegaHit

这个add_menu_page documentation 表示将菜单标题作为第二个参数传递:

add_menu_page(\'Page Title\', \'Menu Title\', ...);
以后通过添加更多页面时add_submenu_page, 主页成为子菜单中的第一个条目:

enter image description here

然而,我希望列表中的第一项具有不同的名称(但仍然指向同一页),就像Wordpress本身那样:

enter image description here

我如何在插件中实现这一点?

4 个回复
最合适的回答,由SO网友:Michael Lewis 整理而成

您可以使子菜单页面的“slug”与顶层页面的“slug”相等,并且它们将指向相同的位置:

add_action(\'admin_menu\', \'my_menu_pages\');
function my_menu_pages(){
    add_menu_page(\'My Page Title\', \'My Menu Title\', \'manage_options\', \'my-menu\', \'my_menu_output\' );
    add_submenu_page(\'my-menu\', \'Submenu Page Title\', \'Whatever You Want\', \'manage_options\', \'my-menu\' );
    add_submenu_page(\'my-menu\', \'Submenu Page Title2\', \'Whatever You Want2\', \'manage_options\', \'my-menu2\' );
}
例如:。

enter image description here

SO网友:Younas Ali

使父菜单项和子菜单的slug相同(第一个菜单项),如下所示

function actions_recent_bids_add_admin_page(){

add_menu_page(\'Recent Bids\', \'Auction Reports\', \'manage_options\',\'wc-auction-reports\',\'actions_recent_bids_list\',\'dashicons-chart-area\', 56);   
  
add_submenu_page(
    \'wc-auction-reports\',               // parent slug
    \'Recent Bids\',                      // page title
    \'Recent Bids\',                      // menu title
    \'manage_options\',                   // capability
    \'wc-auction-reports\',               // slug
    \'acutions_customers_spendings_list\' // callback
); 


add_submenu_page(
    \'wc-auction-reports\',               // parent slug
    \'Customer Spending\',                // page title
    \'Customer Spending\',                // menu title
    \'manage_options\',                   // capability
    \'wc-acutions-customers-spendings\',  // slug
    \'acutions_customers_spendings_list\' // callback
); 
 
add_submenu_page(
    \'wc-auction-reports\',          // parent slug
    \'Customer Bids\',               // page title
    \'Customer Bids\',               // menu title
    \'manage_options\',              // capability
    \'wc-acutions-customers-bids\',  // slug
    \'acutions_customers_bids_list\' // callback
);  

}

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

SO网友:Laurent

只需添加以下内容:

$submenu[\'my-menu\'][0][0] = \'My New Menu Title\';
出于调试目的,您可以执行print_r($menu) 检查整个WP菜单。

SO网友:Umesh Maliya

add_submenu_page(
        \'tut_theme_settings\',       // parent slug
        \'Front Page Elements 2\',    // page title
        \'Front Page 2\',             // menu title
        \'manage_options\',           // capability
        \'tut_theme_settings2\',      // slug
        \'theme_front_page_settings\' // callback
    ); 
如果第一个子菜单的名称不同,则创建父菜单和第一个子菜单的相同段塞,并调用相同的函数

结束

相关推荐

Wordpress Custom Menus Issue

在我的模板中,我使用这样的调用来输出一些自定义菜单:<?php wp_nav_menu(array(\'container_class\' => \'secondary-navigation\', \'theme_location\' => \'secondary\')); ?> 自从升级到WordPress 3.1.4后,我就可以获得完整的页面列表,而不是自定义菜单我看到修复程序(通过谷歌)说我应该添加以下内容来修复此问题:\'fallback_cb\' => f