web-dev-qa-db-fra.com

add_menu_page () avec un nom différent pour le premier élément de sous-menu

Le add_menu_page documentation dit de passer le titre du menu comme deuxième paramètre:

add_menu_page('Page Title', 'Menu Title', ...);

Lorsque vous ajoutez plus de pages ultérieurement via add_submenu_page , la page principale devient la première entrée du sous-menu:

enter image description here


Cependant, je souhaite que le premier élément de la liste ait un nom différent (mais pointe toujours sur la même page), comme le fait Wordpress lui-même:

enter image description here


Comment pourrais-je accomplir cela dans mon plugin?

79
MegaHit

Vous pouvez faire en sorte que le "slug" de la page de sous-menu soit égal à celui de la page de niveau supérieur, et ils indiqueront le même endroit:

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' );
}

Par exemple.

enter image description here

106
Michael Lewis