Weiß jemand, wie man ein Admin-Menü-Trennzeichen hinzufügt? Ich fand dies aber es hat nicht geholfen.
Irgendwelche Ideen?
admin
admin-menu
user1147
quelle
quelle
Antworten:
Hier ist ein schneller und schmutziger Weg, um das zu bekommen, was Sie wollen.
Hintergrund
WordPress speichert Admin-Menüabschnitte in einem globalen Array namens
$menu
. Um ein Trennzeichen hinzuzufügen, fügen Sie dem$menu
Array ein Element hinzu, indem Sie einen Index verwenden, der zwischen den Indizes der Optionen liegt, die Sie trennen möchten.Verwendung der
add_admin_menu_separator()
FunktionAlso habe ich eine Funktion geschrieben, um die Logik für diesen Aufruf zu kapseln
add_admin_menu_separator()
. Sie müssen eine Array-Indexnummer auswählen, die höher ist als die Option, nach der Sie ein Trennzeichen hinzufügen möchten, und dann die Funktion aufrufen, die denadd_admin_menu_separator()
Index als Parameter übergibt.Beispielsweise:
Die
add_admin_menu_separator()
Funktion selbstHier ist die Definition der Funktion,
add_admin_menu_separator()
die Sie in diefunctions.php
Datei Ihres Themas kopieren können . Ja, es ist geheimnisvoll, aber der Code, der das globale$menu
Array erstellt und verwendet, ist es auch . (Es ist geplant, es zum Glück irgendwann zu verwerfen, aber das wird wahrscheinlich ein paar Jahre dauern.)Das Finden der Index in
$menu
die Sie benötigen ,Um herauszufinden , welche Indexnummer , die Sie brauchen Sie können ein tun
var_dump()
von$GLOBALS['menu']
aus einemadmin_init
Haken. Hier ist ein bisschen Code, den Siefunctions.php
vorübergehend in die Datei Ihres Themas einfügen können, um die Werte zu ermitteln. Dies funktioniert nur, wenn Sie eine URL anfordern/wp-admin/
, die mitfunctions.php
beginnt (Sie müssen sich jedoch mit FTP und nicht mit dem integrierten Design-Editor befassen, da Sie sonst den Zugriff auf Ihre Site verlieren, zumindest bis Sie einen FTP-Zugriff auf die Datei Ihres Themas erhalten !) :Siehe auch:
Übrigens, möglicherweise finden Sie diese Links im Allgemeinen hilfreich für die Arbeit mit Admin-Menüs:
wp-admin-menu-classes.php
Obwohl meine Admin-Menüklassen derzeit keine einfache Möglichkeit zum Hinzufügen von Trennzeichen bieten, werde ich das jetzt hinzufügen, wenn ich Zeit habe.
quelle
Es ist ganz einfach:
Hinweis: Die Standardtrennzeichenposition (
$menu[4]
) kann unterschiedlich sein, je nachdem, welche Konfiguration Sie (oder Ihre Plugins) vor diesem Hook vorgenommen haben.Natürlich können Sie auch die Selbstbeobachtung der Klassen
menu-top-first
und optimierenmenu-top-last
.quelle
Einige Probleme mit nicht hinzugefügten Trennzeichen waren darauf zurückzuführen, dass WordPress doppelte Trennzeichen entfernt. Das Hinzufügen
ksort($menu);
am Ende der Funktion hat das Problem behoben.quelle
Dies baut auf der Antwort von MastaBaba auf, ersetzt jedoch nichts an der von Ihnen angegebenen Position - es wird lediglich das Trennzeichen nachträglich hinzugefügt.
Verwendet auch eine anonyme Funktion, sodass diese nur mit PHP ab Version 5.3 kompatibel ist.
quelle
Es ist ein wenig schwierig zu bestimmen, was Sie versuchen, aber ich denke, Sie möchten einen Eintrag der obersten Ebene in das WordPress-Admin-Menü einfügen.
Siehe diese Dokumentation im WordPress-Codex.
Kurz gesagt, Sie suchen nach der Verwendung der
add_menu_page()
Funktion, die eine Reihe von Argumenten verwendet und ein zusätzliches Element im Verwaltungsmenü als Geschwister von "Dashboard", "Posts", "Media" usw. anzeigt.Hoffe, ich habe es richtig verstanden. :-)
quelle
add_menu_page()
.Das Folgende zeigt eine Aktion in Wordpress an, die ausgeführt wird, wenn das Admin-Menü gerendert wird. Das Admin-Menü ist ein Array. Hier fügen Sie lediglich ein Array-Element hinzu, das an der von Ihnen angegebenen Position ein Trennzeichen definiert.
Von hier :
Beachten Sie, dass, obwohl dies eher der aktuell akzeptierten Antwort ähnelt, die aktuell akzeptierte Antwort für mich nicht funktioniert hat (und, nach den Kommentaren zu urteilen, für mehrere andere).
quelle