Navigationspunkte im WordPress-Backend / in der Werkzeugleiste ausblenden und umbenennen
Um im WordPress-Backend Menüpunkte zu verstecken oder umzubenennen, kann die functions.php angepasst werden. Alternativ arbeitet ihr mit Plugins oder passenden Benutzerrechten.

Wenn ihr WordPress für Kundenprojekte einsetzt, ist das Backend häufig umfangreicher als es für die Bedürfnisse des Kunden notwendig ist. Damit im Dashboard nur die Navigationspunkte auftauchen die der Kunde auch wirklich benötigt bietet es sich an ein paar Anpassungen vorzunehmen. In diesem Beitrag möchte ich euch verschiedene Snippets, Links und Plugins vorstellen mit denen ihr das Dashboard individualisieren könnt.
Verschiedene Lösungsansätze
Bevor ihr Änderungen am WordPress-Theme vornehmt oder ein Plugin verwendet solltet ihr prüfen ob die Standard-Benutzerverwaltung von WordPress nicht bereits zum Ziel führt. Wenn für den Kunden beispielsweise nur die administrativen Menüeinträge versteckt werden sollen, bietet es sich an eine schwächere Benutzerrolle (z.B. den Redakteur) zu verwenden.
Navigationspunkte entfernen (ohne Plugin)
Wenn ihr Navigationspunkte ausblenden möchtet, kopiert das folgende Snippet in die functions.php
eures Themes oder verwendet noch besser ein seitenspezifisches Plugin. Alle Menüeinträge innerhalb des Arrays werden entfernt.
/* Navigationspunkte aus dem WordPress-Dashboard entfernen */
function remove_menus () {
global $menu;
$restricted = array(__('Beiträge'), __('Medien'), __('Links'), __('Seiten'), __('Kommentare'), __('Design'), __('Plugins'), __('Benutzer'), __('Werkzeuge'), __('Einstellungen'));
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
add_action('admin_menu', 'remove_menus');
Dashboard Menüpunkte umbenennen
Wenn Ihr Menüpunkte umbenennen möchtet könnt ihr dafür folgendes Snippet verwenden und einzelne Wörter per str_replace
ersetzen. Die Ersetzung findet dann allerdings immer global im gesamten Menü statt, auch in den Untermenüs.

Kopiert folgenden Code in die functions.php
des Themes. Anschließend legt ihr immer fest welche Zeichenkette mit welchem Wort ersetzt werden soll. Im nachfolgenden Beispiel ersetzen wir „Artikel“ mit „Blog-Beiträge“.
/* Gezielte Wörter im WordPress-Dashboard-Menü umbenennen */
function kb_rename_dashboard_menu( $kb_rename_item )
{
$kb_rename_item = str_replace( 'Artikel', 'Blog-Beiträge', $kb_rename_item );
$kb_rename_item = str_replace( 'artikel', 'blog-beiträge', $kb_rename_item );
return $kb_rename_item;
}
add_filter( 'gettext', 'kb_rename_dashboard_menu' );
add_filter( 'ngettext', 'kb_rename_dashboard_menu' );
Menüpunkte aus der Werkzeugleiste entfernen
Auch in der Werkzeugleiste können die Menüpunkte ausgeblendet werden. Verwendet dazu folgendes Snippet in der functions.php
bzw. einem seitenspezifischen Plugin:
add_action( 'admin_bar_menu', 'remove_wp_nodes', 999 );
function remove_wp_nodes()
{
global $wp_admin_bar;
$wp_admin_bar->remove_node( 'wp-logo' ); // Entfernt das WordPress-Logo
$wp_admin_bar->remove_node( 'site-name' ); // Entfernt den Namen der Seite
$wp_admin_bar->remove_node( 'comments' ); // Entferne den Abschnitt "Kommentare"
$wp_admin_bar->remove_node( 'new-content' ); // Entfernt den Abschnitt "Neu"
// Es ist auch möglich die Unterpunkte des Abschnitts "Neu" einzeln zu entfernen
$wp_admin_bar->remove_node( 'new-post' ); // Entfernt den Menüpunkt "Neuer Beitrag"
$wp_admin_bar->remove_node( 'new-link' ); // Entfernt den Menüpunkt "Neuer Link"
$wp_admin_bar->remove_node( 'new-media' ); // Entfernt den Menüpunkt "Neue Datei"
$wp_admin_bar->remove_node( 'new-page' ); // Entfernt den Menüpunkt "Neue Seite"
}
Hallo,
ich möchte ein Menü (Navigationsmenü) für eine Rolle oder einen Benutzer im Backend ausblende.Das Menü von der Hauptseite soll also z.B. für den Redakteur von Vereine/Maibaum nicht zu sehen bzw. änderbar sein.
Gibt es dafür eine Funktion?
Grüße
Robin
Mit dem hier beschrieben Code sollte es klappen: https://developer.wordpress.org/reference/functions/wp_get_current_user/
Hi. Danke für den Code. Bei der Funktion kb_rename_dashboard_menu würde ich noch ein
if ( is_admin() ) einbauen, sonst bleibt es nicht auf das Backend begrenzt. Zumindest war das gerade bei mir sehr global _o oh_
Guten Tag zusammen
Vielleicht kann mir jemand Helfen. Versuche mal das Problem zu umschreiben.
Ich habe gestern ein wpml Plugin für Mehrsprachigkeit installiert. Irgendwie sind nun die Seiten im Frontend nicht mehr ersichtlich. Die Menu Funktionalität ist ebenfalls verschwunden. Sämtliche Seiten sind jedoch im Dashbord unter Seiten ersichtlich.Kann mir jemand einen Tipp geben.
Vielen Dank
Vazquez
danke für den code, sehr hilfreich :)
vielen dank! sehr hilfreich. die plugins werd ich mir dazu auch anschauen.
Schönes Tut, vielen Dank.
Nur wie kann ich Menüpunkte, die durch ein Plugin hinzugefügt wurden (z.B. WP DBManager), entfernen? Ich kann leider die ID etc. nicht herausfinden.
Vorab schon mal vielen Dank.
Matze
Das würde mich auch mal interessieren.
Ich habe versucht Navigationspunkte auszublenden mit dem Code in der functions.php. Es klappt auch alles Super, nur ist jetzt auch für den Admin alles nicht mehr ersichtlich. Wie kann man das ganze umsetzen, sodass nur Autoren die Menüpunkte nicht sehen?
Besten Dank
Christian