Programmierer wollen immer so wenig Schreibarbeit wie möglich. Deshalb benutzen sie Funktionen, die bereits definiert wurden. Das Problem ist allerdings, dass man diese Funktionen oft nicht kennt. Die Dokumentation von PHP ist schier endlos und dadurch unübersichtlich. Oft hilft nur googeln. Bei WordPress ist es da nicht anders. Heute stellte ich mir die Frage, ob sich der Seitentitel einer Admin-Page, der z.B. via add_submenu_page()
definiert wurde, einfach auslesen lässt. Hier steht, wie’s geht.
Admin-Seite erstellen
Ein Untermenü in “Einstellungen” lässt sich beispielsweise so erstellen:
<?php add_action( 'admin_menu', 'mm_admin_menu' ); function mm_admin_menu() { add_submenu_page( 'options-general.php', 'Mein Untermenü-Titel', 'Untermenü', 'manage_options', 'mm-meins-unter-1', 'mm_sub1_page_render' ); } function mm_sub1_page_render(){ echo '<h2>Mein Untermenü-Titel</h2>'; } ?>
Beim Aufrufen des Menüpunkts erhält man also lediglich die H2-Überschrift “Mein Untermenü-Titel”. Dieser wurde aber schon einmal eingegeben. Und zwar beim Aufruf der Funktion add_submenu_page()
. Wie also auslesen?
Die Lösung: Admin-Seitentitel mit get_admin_page_parent() auslesen
WordPress liefert bereits eine Funktion dafür. Nämlich get_admin_page_parent()
. Seit wann sie existiert ist im Sourcecode nicht dokumentiert.
Die Funktion mm_sub1_page_render()
kann also wie folgt umgebaut werden:
function mm_sub1_page_render(){ echo '<h2>'. get_admin_page_parent() .'</h2>'; }
Das wars.