So entfernen Sie Elemente des WordPress-Admin-Menüs programmgesteuert ohne Plugin
Veröffentlicht: 2020-01-20WordPress-Dashboard-Menüs sind eine sehr nützliche Möglichkeit, um die verschiedenen Abschnitte des Admin-Dashboards zu umgehen, aber manchmal können sie lästig oder unerwünscht sein. Insbesondere wenn Sie WordPress als Content-Management-System zum Erstellen einer Client-Website im Gegensatz zum Bloggen verwenden, müssen Sie nicht benötigte Elemente aus dem WordPress-Admin-Menü entfernen.
Eine der einfachsten Möglichkeiten, WordPress-Admin-Menüpunkte zu entfernen, ist die Verwendung der frei verfügbaren Plugins, die die Admin-Menüpunkte nach Benutzerrolle oder bedingt ausblenden können.
Wann man WordPress-Admin-Menüelemente nicht mit einem Plugin entfernen sollte
Die Nachteile der Verwendung von Plugins zum Entfernen von WordPress-Admin-Menüelementen können darin bestehen, dass man sich für konsistente Updates übermäßig auf Plugin-Entwickler von Drittanbietern verlässt.
Risiko von Plugins von Drittanbietern
Wenn Sie in diesem Fall die Kontrolle darüber übernehmen möchten, welche Menüs in Ihrem WordPress-Dashboard angezeigt werden, ohne ein Plugin zu verwenden, ist dieses Tutorial die beste Anleitung für Sie.
Ständige Updates
Ein weiterer Grund, Elemente aus dem WordPress-Admin-Menü programmgesteuert zu entfernen, sind die ständigen Updates, die Sie in allen von Ihnen installierten WordPress-Plugins haben.
Diese Updates sind wichtig, da sie das Benutzererlebnis, die Leistung und die Sicherheit verbessern, aber sie können zu umständlich sein, insbesondere wenn Sie mit einer großen Anzahl von Websites von Kunden arbeiten.
Mehrere Plugin-Admin-Menüs
Wenn Sie so viele Plugins auf Ihrer Website installiert haben, verfügen die meisten über Admin-Menüs, und Sie möchten die Menüs möglicherweise entfernen, da Sie die Admin-Menüs nicht ständig verwenden.
In diesem Beitrag werde ich veranschaulichen, wie man WordPress-Menüelemente ohne Verwendung eines Plugins entfernt. Damit Sie dies in Ihrer WordPress-Site implementieren können, benötigen Sie ein wenig Erfahrung beim Bearbeiten von WordPress-Sites, insbesondere beim Hinzufügen von Code-Snippets zur Themendatei functions.php.
Entfernen Sie Elemente des WordPress-Admin-Menüs programmgesteuert
Ich beginne gerne mit einer kurzen Zusammenfassung, da es für Leser einfacher ist, in einer Schritt-für-Schritt-Anleitung nach einer schnellen Lösung zu suchen. Im Folgenden sind die Schritte aufgeführt, die Sie ausführen sollten, um Elemente aus dem WordPress-Admin-Menü zu entfernen.
- Melden Sie sich bei Ihrer WordPress-Site an und identifizieren Sie die Elemente des Admin-Menüs, die Sie entfernen möchten
- Erstellen Sie einen Action-Hook, der das admin_menu-Ereignis mit einer Callback-Funktion verknüpft, die über die Logik zum Entfernen von WordPress-Admin-Menüs aus Ihrem Dashboard verfügt.
- Die Callback-Funktion sollte die WordPress-Funktionen remove_menu_page oder remove_submenu_page() verwenden, um alle gezielten Elemente des Admin-Menüs zu entfernen. Beispielsweise können Sie das Widgets-Menü aus dem Themenmenü entfernen, indem Sie diesen Code
remove_submenu_page( 'themes.php', 'widgets.php');
oder entfernen Sie das Hauptmenü des Dashboards mit diesem Code –remove_menu_page('index.php');
- Alternativ können Sie die PHP-Funktion
unset()
verwenden und auf die Werte des globalen Untermenü-Arrays zugreifen, um alle gezielten Elemente des WordPress-Admin-Menüs zu entfernen. - Fügen Sie dieses Code-Snippet zum Thema functions.php hinzu und aktualisieren Sie die Änderungen. Dadurch werden die Elemente des WordPress-Admin-Menüs erfolgreich entfernt, ohne ein Plugin zu verwenden.
- Sie können diesen Code auch zu einer Funktion in Ihrem benutzerdefinierten Plugin hinzufügen und es funktioniert so, wie es in der Theme functions.php funktioniert
So entfernen Sie WordPress-Admin-Menüs ohne Plugin
Das Folgende ist der detaillierte Schritt-für-Schritt-Ansatz zum Entfernen von WordPress-Admin-Menüelementen durch Hinzufügen von Code, anstatt ein anderes Plugin zu verwenden.
Identifizieren Sie Admin-Menüelemente Slug
Melden Sie sich bei Ihrem WordPress-Dashboard an und suchen Sie nach den Admin-Menüelementen, die Sie entfernen möchten. Wie Sie in diesem Beispiel sehen können, enthält das Hauptmenü des Dashboards den Slug index.php .
Dieser Slug ist wichtig, da er einer der Parameter ist, die Sie der Funktion remove_submenu_page() hinzufügen, wie ich gleich veranschaulichen werde.
Verstehen, wie man Seite entfernt und Untermenüseitenfunktionen entfernt
Funktion „Seite entfernen“.
Die Funktion remove_menu_page enthält nur einen Parameter, nämlich den Seiten-Slug, und entfernt das Admin-Menü der obersten Ebene. Der Parameter ist eine Zeichenfolge, da der Seiten-Slug offensichtlich eine Zeichenfolge ist und der allgemeine Code wie folgt lauten sollte:
remove_menu_page( string;$menu_slug;)
Unterseitenfunktion entfernen
Die Funktion remove_submenu_page enthält zwei Parameter, der erste ist der Slug des übergeordneten Menüs, wenn Sie die Untermenüs entfernen, und der zweite der Slug des Untermenüs, das Sie entfernen möchten. Der allgemeine Code sollte wie folgt lauten:
remove_submenu_page( string $menu_slug, string $submenu_slug )
Erstellen Sie einen Aktionshaken zum Entfernen von Admin-Menü- und/oder Untermenüelementen
Das Folgende ist ein Beispiel für einen Action-Hook, der in das admin_menu- Ereignis einklinkt und eine Callback-Funktion hat, die wir „ remove_admin_menu_items“ genannt haben.
add_action( 'admin_menu', 'remove_admin_menu_items', 999 );
Erstellen Sie die Callback-Funktion zum Entfernen von Admin-Menü- und/oder Untermenüelementen mit remove_submenu_page und remove_menu_page ()
Zuerst müssen Sie in der Callback-Funktion das globale menus-Array mit der globalen $submenu-Variable abrufen, wenn Sie die unset()- Funktion verwenden.
Zweitens fügen Sie die Funktion remove_submenu_page oder remove_menu_page () hinzu, die auf die Seite abzielt, die Sie entfernen möchten, wie im folgenden Code gezeigt:
Funktion remove_admin_menu_items() { remove_submenu_page( 'menu_slug', 'submenu_slug'); }
Oder mit unset können Sie die folgende Callback-Funktion haben
Funktion remove_admin_menu_items() { globales $Untermenü; unset($submenu['parent menu slug'][admin item submenu array index]); }
Beispiel zum Entfernen von Aktualisierungen im Admin-Menü
Wenn Sie sich bei Ihrem WordPress-Dashboard anmelden, gibt es einen Menüpunkt zu den Updates, die sich unter dem Haupt-Dashboard-Menü befinden, wie in der folgenden Abbildung gezeigt:
Ich werde veranschaulichen, wie Sie dieses Admin-Menüelement mit der oben beschriebenen Methode entfernen können. Erstens ist der Slug des übergeordneten Menüs index.php und der Slug für das Update-Menü ist update-core.php
Übergeordnetes Element und Untermenü des WordPress-Admin-Menüs entfernen
Sie können also den Action-Hook und die Callback-Funktion erstellen, um den gesamten Menüpunkt mit der Funktion remove_menu_page() wie folgt zu entfernen:
// Entfernen Sie den Hauptmenüpunkt zusammen mit den Unterseiten /Untermenüs add_action( 'admin_menu', 'remove_admin_menu_items', 999 ); Funktion remove_admin_menu_items() { remove_menu_page('index.php'); }
Dadurch werden das gesamte Menü und die Untermenüs entfernt, wie in der Abbildung unten gezeigt:
Nur WordPress-Untermenüelemente entfernen
Sie können den Action-Hook und die Callback-Funktion erstellen, um das Untermenüelement mithilfe der Funktion remove_submenu_page wie folgt zu entfernen:
//Entfernen Sie die Unterseiten oder das Untermenü add_action( 'admin_menu', 'remove_admin_menu_items', 999 ); Funktion remove_admin_menu_items() { remove_submenu_page('index.php','update-core.php' ); }
Dadurch wird das Untermenü entfernt, das im zweiten Parameter der Funktion remove_submenu_page angegeben ist. In diesem Fall haben wir „ update-core.php“ angegeben, und das Ergebnis ist wie im folgenden Bild dargestellt:
Verwendung der Unset() PHP-Funktion
Wir können auch die Unset-Funktion von PHP verwenden, um die Untermenüelemente zu entfernen, und in diesem Fall müssen wir zuerst auf das globale $submenu-Array zugreifen, wie im folgenden Code gezeigt:
//Hinzufügen des Action-Hooks zum admin_menu-Ereignis add_action( 'admin_menu', 'remove_admin_menu_items', 999 ); //Callback-Funktion Funktion remove_admin_menu_items() { //Admin-Menü-Array->Liste aller Elemente des WordPress-Admin-Menüs befinden sich in diesem Array globales $Untermenü; // das Array auf dem Bildschirm ausgeben, damit wir die Elemente des Admin-Menüs nach Index sehen können print('<pre>'); print_r($Untermenü); print('<pre>'); // Wir entfernen alles andere, was auf dem Bildschirm angezeigt wird, sodass nur das Array der Admin-Menüelemente angezeigt wird sterben(); }
Dieser Code erhält das globale Untermenü-Array und wir drucken es aus, um das Array aller Menüs anzuzeigen, damit wir den Index aller Admin-Menüelemente auswählen und sie dann nach Belieben entfernen können.
In diesem Code können Sie die Verwendung der Pre-Tags und der Funktion die() sehen, um den Code in einem lesbaren Format anzuzeigen.
Entfernen Sie das WordPress-Untermenü Menüelement mit Unset
Der Array-Index für das Update-Core-Untermenü ist also 10 . Wir können also fortfahren und die Funktion unset () wie folgt verwenden:
// Entferne den Hauptmenüpunkt zusammen mit den Unterseiten mit unset add_action( 'admin_menu', 'remove_admin_menu_items', 999 ); Funktion remove_admin_menu_items() { globales $Untermenü; unset($submenu['index.php'][0]); //Entferne das Menü der obersten Ebene index.php (Dashboard-Menü - Home-Menü) unset($submenu['index.php'][10]); // das Untermenü update-core.php (Updates-Menü) entfernen }
Die Ergebnisse sind die gleichen wie bei Verwendung der WordPress-Funktion remove_submenu_page.
Entfernen Sie das WordPress-Admin-Menüelement mit Unset
Wir können auch die Seite der obersten Ebene und das Untermenü zusammen entfernen, indem wir die Unset-Funktion verwenden, die auf jede dieser Seiten abzielt:
Der Code sollte wie folgt lauten:
//. Entfernen Sie den Hauptuntermenüeintrag mit unset add_action( 'admin_menu', 'remove_admin_menu_items', 999 ); Funktion remove_admin_menu_items() { globales $Untermenü; unset($submenu['index.php'][10]); }
Das Ergebnis wird sein, dass eine der Seiten entfernt wird, da wir sie im Code aufgehoben haben:
Einpacken
In diesem Beitrag haben wir ausführlich die zwei wichtigsten Möglichkeiten behandelt, mit denen Sie WordPress-Admin-Menüelemente entfernen und Ihr WordPress-Dashboard bereinigen können. Wenn Sie ein WordPress-Entwickler sind, können Sie diesen Code wiederverwenden und ihn einfach kopieren. Schauen Sie sich meine Zusammenfassung an und folgen Sie mir auf GitHub für weitere zukünftige Updates. Ich habe hier auch mehrere andere Snippets geteilt – WP-Snippets . Ich hoffe, Sie können jetzt die nicht gewünschten WordPress-Admin-Elemente aus Ihrem Menü entfernen.