2012-07-23 12 views
6

In einem WordPress-Plugin, das ich erstelle, es schafft ein neues Top-Level-Admin-Menü mit einer Untermenü-Seite. Hier ist mein Code:Wordpress hinzufügen Untermenüs zu benutzerdefinierten Menü

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

So erstellt dieser Code ein neues Admin-Menü, "Eastview Custom". Dann fügt es zwei Unterlinks hinzu: "Eastview Custom" und "GLS Lunch". Das Problem ist, dass ich "Eastview Custom" nicht als Sublink möchte. Ich möchte, dass der einzige Teillink "GLS Lunch" ist. Ich kann nicht herausfinden, wie das geht. Danke für jede Hilfe!

Antwort

8

Nach dem Kodex

In Situationen, in denen ein Plugin sein eigenes Top-Level-Menü erstellen, wird das erste Untermenü hat in der Regel den gleichen Link Titel als Top-Level-Menü und somit wird der Link sein dupliziert. Der doppelte Linktitel kann vermieden werden, indem die Funktion add_submenu_page das erste Mal aufgerufen wird, wobei die Parameter parent_slug und menu_slug den gleichen Wert erhalten.

, die Sie hier auf dieser Seite sehen: http://codex.wordpress.org/Adding_Administration_Menus#Sub-Menus

So Codex nach sollten Sie in der Lage sein, so etwas wie die folgenden (Anmerkung haben, die ich Ihren Benutzerebenen Parameter mit Fähigkeiten, wie sie ersetzt haben sind veraltet und standardisierten sie alle in einfache Anführungszeichen);

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

Jetzt würden Sie denken, dass dies basierend auf dem Codex funktionieren würde - tut es nicht. Es werden keine Untermenüpunkte angezeigt, nur weil es nur einen von ihnen gibt. Wenn Sie ein anderes Element hinzufügen, werden Sie sehen, dass dies funktioniert, dh;

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

Hoffe das hilft ein wenig, Schande, ich konnte die Antwort auf die einzelne Liste nicht finden!

+0

OK schaffen, danke. Entschuldigung, ich habe nicht früher geantwortet. Das ist in Ordnung - auf der Website, auf der ich diese Funktion verwende, wird es mehr als eine Untermenü-Seite geben. Ich wollte nur wissen, wie der doppelte Link entfernt wird. Vielen Dank! – Abraham

+0

Keine Mühe - das ist praktisch, Problem gelöst! :) – McNab

+1

Großartig, dass es für mich funktioniert hat! Ich hatte Mühe, in der Wordpress-Dokumentation nachzusehen. Vielen Dank. –

0

die Alternative ist, dass Sie das Untermenü entfernen können nach Hauptmenü

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"); 
Verwandte Themen