Ich muss das Admin-Panel für meinen Benutzer anpassen. Wie entferne ich das gesamte Admin-Menü? Nicht entfernen Sie den Menüpunkt, ich meine ganz entfernen Sie die linke vertikale Menüleiste, enthalten Sie das Design des Menüs (z. B. CSS, Hintergrund ... etc.). Ich möchte, dass es leer wird.
Ich kann es durch CSS-Hack tun. Aber ich bevorzuge es Hook zu tun. Irgendwelche Ideen?
Vielen Dank
admin
admin-menu
Dev-Jim
quelle
quelle
Antworten:
Der richtige Hook ist
admin_menu
und erstellen Sie eine Funktion zum Entfernen der Menüs, die Sie entfernen möchten. Die folgenden 2 Funktionen entfernen alle Menüs.Screenshot des linken Menüs mit den obigen 2 Funktionen:
quelle
$GLOBALS['menu'] = array();
. Wenn Sie im Array null angeben, erledigt dies ebenfalls die Arbeit.Nach dem Vorbild von
/wp-admin/admin-header.php
->/wp-admin/menu-header.php
gibt es keinen Haken dafür.Eine Lösung besteht darin,
admin_head
CSS + jQuery einzubinden und auszuführen[update]
Laut einer Klarstellung zu der Frage, wo klar wird, dass die Motivation das Branding des Admin-Bereichs ist, sind dies die 4 Plugins, die ich dafür benutze:
quelle
wp_enqueue_script()
mitadmin_enqueue_script
hook sinnvoller .admin_head
.Die einzige Möglichkeit, die ich kenne, ist die Verwendung
remove_menu_page()
für jeden einzelnen Menüpunkt. Selbst dann weiß ich nicht, was mit dem linken Balken selbst passiert (ob er auf 0px Breite zusammenfallen würde oder was). Ich stelle mir vor, dass Sie trotz der Verwendung der Hooks irgendwann ein Admin-Stylesheet in die Warteschlange einreihen möchten, um die verbleibenden Menü-Markup-Stile zu bereinigen.Ich wäre vorsichtig dabei. Wenn Sie beispielsweise "Einstellungen" entfernen, können keine Plugins erreicht werden, die Menüseiten im Menü "Einstellungen" erstellen. Im Allgemeinen frage ich mich, wie nachhaltig es wirklich ist, das Menü vollständig zu entfernen.
quelle
quelle
Ich verbessere die Lösung von @brasofilo, da es einen kleinen Fehler gibt. Ein erneutes Laden der Seite mit nicht der besten Internetverbindung wird für sehr kurze Zeit angezeigt. Um dies zu vermeiden, habe ich ein bisschen mehr CSS hinzugefügt:
quelle