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

76

La add_menu_page documentation indique de passer le titre du menu en tant que deuxième paramètre:

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

Lors de l'ajout de pages ultérieures via add_submenu_page , la page principale devient la première entrée du sous-menu:

Cependant,jesouhaitequelepremierélémentdelalisteaitunnomdifférent(maispointetoujourssurlamêmepage),commelefaitWordpresslui-même:

Comment pourrais-je accomplir cela dans mon plugin?

    
posée MegaHit 28.09.2012 - 01:13
la source

3 réponses

96

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 qu'ils pointent au 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' );
}

ex.

    
réponse donnée Michael Lewis 28.09.2012 - 01:36
la source
-2
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
    ); 

si le nom différent du premier sous-menu crée le même slug de parent et premier enfant et appelle la même fonction

    
réponse donnée Umesh Maliya 29.09.2016 - 08:13
la source
-3

Ajoutez simplement ceci:

$submenu['my-menu'][0][0] = 'My New Menu Title';

À des fins de débogage, vous pouvez effectuer un print_r($menu) pour vérifier l’ensemble du menu WP.

    
réponse donnée Laurent 18.06.2013 - 07:37
la source

Lire d'autres questions sur les étiquettes