Im WordPress-Dashboard lassen sich bei Bedarf einzelne Menüpunkte ausblenden – ganz ohne Plugin. Dies ist besonders hilfreich, wenn das Backend übersichtlicher gestaltet werden soll, etwa bei Kundenprojekten oder Webseiten, bei denen nur ausgewählte Bereiche bearbeitet werden sollen. So findet sich der Kunde in vielen Fällen sicherer und einfacher zurecht.
Gerade bei der erstmaligen Nutzung kann die Vielzahl an Menüpunkten im Adminbereich schnell überfordern. Zudem besteht die Gefahr, dass unerfahrene Nutzer versehentlich wichtige Einstellungen ändern oder Plugins deaktivieren. Durch das Ausblenden bestimmter Menüpunkte bleibt das Dashboard übersichtlich und Fehlerquellen werden reduziert.
Warum Menüpunkte ausgeblendet werden können
Oft reicht es aus, nur einzelne Menüpunkte unsichtbar zu machen – zum Beispiel, um zu verhindern, dass Themes gewechselt werden, grundlegende Einstellungen verändert werden oder Plugins gelöscht werden.
Zwar existieren dafür Plugins wie Adminimize, Members oder User Role Editor, jedoch lässt sich das Ausblenden der Menüpunkte auch ohne zusätzliche Erweiterungen direkt über die functions.php des aktiven Themes umsetzen. Dies spart Ressourcen und hält das System schlanker.
Code: WordPress-Menüpunkte im Adminbereich ausblenden
Mit dem folgenden Code können beliebige Menüpunkte im WordPress-Dashboard ausgeblendet werden. Dies funktioniert sowohl für Standard-Menüpunkte als auch für Menüeinträge, die durch Plugins hinzugefügt wurden (z. B. Contact Form 7, Yoast SEO oder Sicherheitsplugins).
In der functions.php fügt man die folgenden Codezeilen je nach Bedarf ein oder kann die Funktion erweitern mit weiteren Zeilen:
add_action( 'admin_menu', 'dashboard_remove_menu_pages' );
function dashboard_remove_menu_pages() {
remove_menu_page('edit.php'); // Entfernt den Menüpunkt Artikel
remove_menu_page('upload.php'); // Entfernt den Menüpunkt Mediathek
remove_menu_page('edit.php?post_type=page'); // Entfernt den Menüpunkt Seiten
remove_menu_page('themes.php'); // Entfernt den Menüpunkt Design
remove_menu_page('plugins.php'); // Entfernt den Menüpunkt Plugins
remove_menu_page('users.php'); // Entfernt den Menüpunkt Benutzer
remove_menu_page('tools.php'); // Entfernt den Menüpunkt Werkzeuge
remove_menu_page('edit-comments.php'); // Entfernt den Menüpunkt Kommentare
remove_menu_page('options-general.php '); // Entfernt den Menüpunkt Einstellungen
remove_menu_page('admin.php?page=wpcf7'); // Entfernt den Menüpunkt Contact Form 7
remove_menu_page('admin.php?page=wpseo_dashboard'); // Entfernt den Menüpunkt WPSEO
remove_menu_page('admin.php?page=aiowpsec'); // Entfernt den Menüpunkt All In One WordPress Security and Firewall Plugin
}
Klasse! Gibt es die Möglichkeit, eine Abfrage nach Benutzerrolle auszuführen, sodass die Einträge beispielsweise für Subsrciber komplett ausgeblendet werden können, für Admin aber erhalten bleiben?
Hallo Jörg, das ist zwar theoretisch auch möglich – siehe http://wordpress.stackexchange.com/questions/113322/remove-menu-items-from-admin-page-and-limit-capabilities.
Aber für bestimmte Benutzerrollen ist es dann wohl komfortabler ein Plugin wie „Adminimize“ zu verwenden: https://wordpress.org/plugins/adminimize/ . Würde ich dann zumindest vorziehen…