2012-07-23 16 views
6

In un plug di wordpress che sto creando, sta creando un nuovo menu di amministrazione di primo livello con una pagina di sottomenu. Qui è il mio codice:Wordpress aggiunge sottomenu al menu personalizzato

add_menu_page('Eastview Custom', 'Eastview Custom', 5,"eastview-custom"); 
add_submenu_page("eastview-custom","GLS Lunch Orders","GLS Lunch",5,'glsLunch','glsLunch'); 

Quindi questo codice crea un nuovo menu di amministrazione, "Eastview Custom". Quindi aggiunge due sottolink: "Eastview Custom" e "GLS Lunch". Il problema è che non voglio "Eastview Custom" come sottolink. Vorrei che l'unico sublink fosse "GLS Lunch". Non riesco a capire come farlo. Grazie per qualsiasi aiuto!

risposta

8

Secondo il codice

In situazioni in cui un plug-in sta creando un proprio menu di primo livello, il primo sottomenu normalmente avrà lo stesso titolo collegamento come il menu di primo livello e, quindi, il collegamento sarà duplicato. Il titolo del collegamento duplicato può essere evitato chiamando la funzione add_submenu_page la prima volta con i parametri parent_slug e menu_slug con lo stesso valore.

che potete vedere in questa pagina qui: http://codex.wordpress.org/Adding_Administration_Menus#Sub-Menus

Quindi secondo il Codex si dovrebbe essere in grado di avere qualcosa di simile alla seguente (nota che ho sostituito il vostro parametro livelli utente con funzionalità come hanno sono deprecati e standardizzati a virgolette singole);

add_menu_page('Eastview Custom', 'Eastview Custom', 'manage_options', 'my-top-level-handle'); 
add_submenu_page('my-top-level-handle', 'GLS Lunch Orders', 'GLS Lunch', 'manage_options', 'my-top-level-handle'); 

Ora si potrebbe pensare che questo funzioni in base al Codex, ma non lo è. Non visualizzerà nessuna voce di sottomenu semplicemente perché ce n'è solo una. Se aggiungi un altro elemento vedrai che questo funziona, cioè;

add_menu_page('Eastview Custom', 'Eastview Custom', 'manage_options', 'my-top-level-handle'); 
add_submenu_page('my-top-level-handle', 'GLS Lunch Orders', 'GLS Lunch', 'manage_options', 'my-top-level-handle'); 
add_submenu_page('my-top-level-handle', 'New Item', 'New item', 'manage_options', 'new-handle'); 

Spero che questo aiuti un po ', peccato che non riusciva a trovare la risposta alla voce di lista unica!

+0

OK, grazie. Scusa se non ho risposto prima. Va bene - sul sito web che sto usando, ci sarà più di una pagina di sottomenu. Volevo solo sapere come rimuovere il collegamento duplicato. Grazie! – Abraham

+0

Nessun fastidio - questo è utile allora, problema risolto! :) – McNab

+1

Grande che ha funzionato per me!, Ho avuto difficoltà a guardare nella documentazione di Wordpress. Grazie. –

0

l'alternativa è che si può rimuovere il sottomenu dopo creare menu principale

add_menu_page('Eastview Custom', 'Eastview Custom', 5,"eastview-custom"); 
add_submenu_page("eastview-custom","GLS Lunch Orders","GLS Lunch",5,'glsLunch','glsLunch'); 
remove_submenu_page("eastview-custom", "eastview-custom"); 
Problemi correlati