add_menu_page () con un nome diverso per il primo elemento del sottomenu


85

La add_menu_pagedocumentazione dice di passare il titolo del menu come secondo parametro:

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

Quando si aggiungono più pagine successivamente tramite add_submenu_page, la pagina principale diventa la prima voce nel sottomenu:

inserisci qui la descrizione dell'immagine


Tuttavia, voglio che il primo elemento dell'elenco abbia un nome diverso (ma rimanga sempre sulla stessa pagina), come Wordpress stesso fa:

inserisci qui la descrizione dell'immagine


Come potrei realizzarlo nel mio plugin?


Ho trovato un blog molto utile per lo stesso allievo tekina.info/add-menus-submenus-wordpress-admin-panel
Aniket Singh

Risposte:


113

Puoi rendere lo 'slug' per la pagina del sottomenu uguale a quello della pagina di livello superiore e indicheranno lo stesso posto:

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

Per esempio

inserisci qui la descrizione dell'immagine


Ciò comporterebbe voci duplicate, poiché Wordpress crea automaticamente una pagina di sottomenu per la pagina principale.
MegaHit,

4
Ricordo di aver sfogliato il codice di base la scorsa settimana e di essermi imbattuto in una nota che diceva qualcosa del tipo: "Aggiungi la voce di sottomenu predefinita SE L'UTENTE NON È GIÀ GIÀ". Verifica se è presente un elemento di sottomenu che punta all'elemento di livello superiore. Se c'è, non aggiunge il valore predefinito.
Michael Lewis,

Voglio quando creo un menu personalizzato voglio visualizzare alcune tabelle e dati poiché altre schede mostrano un link tutorial o qualche aiuto di funzione sarà apprezzato
Aitazaz Khan,

Esattamente quello che stavo cercando. Grazie: P
Rob DA

-3
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
    ); 

se il nome diverso del primo sottomenu crea lo stesso slug di genitore e primo figlio e chiama la stessa funzione


2
In che cosa differisce dalla risposta accettata? E a quale azione questo dovrebbe essere agganciato.
bravokeyl,

-4

Aggiungi semplicemente questo:

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

Ai fini del debug, è possibile eseguire un print_r($menu)controllo dell'intero menu WP.


7
Hackedy hack. Usa l'API!
Richard Sweeney,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.