
🔐 Login- und Logout-Button im WordPress-Menü: eine Schritt-für-Schritt-Anleitung 2026
Standard WordPress kann an derselben Menüposition nicht für abgemeldete Besucher einen „Login"-Button und für eingeloggte Nutzer einen „Logout"-Button anzeigen. Auf den ersten Blick wirkt das nebensächlich. Für eine Website mit Mitglieder-Dashboard, geschütztem Bereich oder Forum ist es jedoch eine grundlegende Anforderung, und ohne sie wird die Navigation zum Ratespiel.
Bisher übernahm das Plugin BAW Login/Logout Menu diese Aufgabe. Der Autor hat das Projekt 2025 eingestellt, sodass Tausende von Websites ohne Updates blieben. Der direkte Nachfolger hat übernommen: Login or Logout Menu Item mit über 20.000 aktiven Installationen und einer Bewertung von 4,8 auf WordPress.org.
Wir haben alles in einem Leitfaden zusammengestellt: von der Installation des Plugins in zwei Minuten über benutzerdefinierte rollenbasierte Weiterleitungen bis hin zum Deaktivieren der Admin-Leiste für normale Nutzer.
💡 Kurzüberblick:
- Installieren Sie das Plugin Login or Logout Menu Item und konfigurieren Sie drei Weiterleitungsfelder
- Fügen Sie einen Menüpunkt „Login|Logout" über den klassischen oder den Block-Editor hinzu
- Richten Sie eine präzise Steuerung über functions.php-Snippets ein: rollenbasierte Weiterleitungen, Logout ohne Bestätigung, Ersetzen von wp-login.php
- Blenden Sie die Admin-Leiste für normale Nutzer aus und sperren Sie deren Zugriff auf wp-admin
Methode 1: Plugin Login or Logout Menu Item, schnell und ohne Code

Der einfachste Weg, einen dynamischen Login- und Logout-Button hinzuzufügen, ist das Plugin Login or Logout Menu Item. Es ist der direkte Nachfolger von BAW Login/Logout Menu, neu geschrieben von einem der Mitwirkenden des ursprünglichen Projekts. Stand Juni 2026 hat das Plugin über 20.000 aktive Installationen, 23 Bewertungen und eine Sternebewertung von 4,8. Version 1.3.2 wurde bis WordPress 7.0 getestet.
Warum dieses Plugin statt einer Code-Lösung? Das Plugin verändert die functions.php nicht und funktioniert auch nach einem Theme-Wechsel weiter. Es unterstützt den Block-Editor, und der Eintrag „Login|Logout" kann über die normale Suche zu einem Navigationsblock hinzugefügt werden. Zudem gibt es eine eigene Einstellungsseite: keine kryptischen URLs in Menüfeldern, alles ist transparent.
Installation und Konfiguration
Installieren Sie das Plugin auf dem üblichen Weg: Plugins → Installieren, geben Sie Login or Logout Menu Item ein, klicken Sie auf Installieren und Aktivieren. Nach der Aktivierung erscheint ein neuer Eintrag im Admin-Menü: Einstellungen → Login or Logout. Es gibt drei Felder, und das bedeuten sie:
- Login Page URL: die Adresse der Login-Seite. Für die meisten Websites genügt
/wp-login.php. Wenn Sie eine benutzerdefinierte Login-Seite nutzen (zum Beispiel/login/über MemberPress oder WooCommerce), tragen Sie diese hier ein. - Login Redirect URL: wohin der Nutzer nach dem Login gelangt. Üblicherweise
/account/oder einfach/für die Startseite. Beachten Sie, dass Mitgliedschafts-Plugins wie MemberPress oder Restrict Content Pro diese Weiterleitung mit ihren eigenen Einstellungen überschreiben können. - Logout Redirect URL: wohin der Nutzer nach dem Logout geschickt wird. Sinnvoll ist die Angabe von
/oder/wp-login.php.
Hinzufügen des Menüpunkts
Gehen Sie zu Design → Menüs. Klicken Sie oben rechts auf Ansicht anpassen und stellen Sie sicher, dass das Kontrollkästchen Login/Logout aktiviert ist. In der linken Spalte erscheint ein Block „Login/Logout"; aktivieren Sie Login|Logout und klicken Sie auf Zum Menü hinzufügen.
Der Menüpunkt erscheint in der Liste. Seine URL sollte #lolmiloginout# bleiben, denn das ist der Auslöser des Plugins; ändern Sie sie nicht. Sie können die Navigationsbezeichnung bearbeiten: zum Beispiel „Login | Logout" oder „Mein Konto". Speichern Sie das Menü.
Wenn Sie mit dem Block-Editor arbeiten (Design → Editor, Navigationsblock): Klicken Sie auf „+", um einen Link hinzuzufügen, geben Sie „login" oder „logout" in die Suche ein und wählen Sie „Login|Logout" aus den Vorschlägen. Der Link wird automatisch mit der korrekten URL eingefügt. Sie können ihn auch manuell eingeben: #lolmiloginout#.
Was tun, wenn das Menü nicht umschaltet
Die häufigste Ursache ist Caching. Deaktivieren Sie den Cache für eingeloggte Nutzer in den Einstellungen Ihres Caching-Plugins: WP Rocket, Cloudflare APO, LiteSpeed. Die zweite Ursache ist ein anderes Plugin, das die Weiterleitung abfängt. Prüfen Sie die Einstellungen Ihres Mitgliedschafts- oder Sicherheits-Plugins: Viele davon haben eigene Regeln für die Weiterleitung nach dem Login, die Vorrang haben.
Methode 2: Login und Logout per Code in der functions.php
Das Plugin deckt die meisten typischen Szenarien ab. Manchmal benötigen Sie jedoch eine granularere Logik: unterschiedliche Weiterleitungen für verschiedene Rollen, erzwungener Logout ohne Bestätigung, Ausblenden der Admin-Leiste. Hier kommt die functions.php ins Spiel.
Fügen Sie den gesamten nachfolgenden Code über das Plugin Code Snippets ein; das ist sicherer, als die functions.php direkt zu bearbeiten. Ein Syntaxfehler legt die Website nicht lahm; er deaktiviert lediglich das Snippet.
Login mit rollenbasierter Weiterleitung
Dieser Code leitet Administratoren zum Admin-Dashboard und alle anderen zu einer Mitglieder-Kontoseite weiter. Fügen Sie ihn zu Code Snippets oder zur functions.php Ihres Child-Themes hinzu.
1 /** 2 * Redirect after login: admin → wp-admin, others → /account 3 */ 4 function sd_redirect_by_role( $url, $request, $user ) { 5 if ( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) { 6 if ( $user->has_cap( 'administrator' ) ) { 7 $url = admin_url(); 8 } else { 9 $url = home_url( '/account' ); 10 } 11 } 12 return $url; 13 } 14 add_filter( 'login_redirect', 'sd_redirect_by_role', 10, 3 );
So funktioniert es: Der Filter login_redirect wird im Moment des Logins ausgelöst. Die Funktion prüft die Rolle mittels has_cap('administrator') und gibt die passende URL zurück. Die Priorität 10 ist Standard, und 3 begrenzt die Anzahl der akzeptierten Argumente. Falls der Slug Ihrer Kontoseite von /account abweicht, ersetzen Sie ihn in der Zeile home_url('/account').
Logout ohne Bestätigung
Standardmäßig zeigt WordPress eine Bestätigungsseite, wenn Sie auf einen Logout-Link klicken: „Möchten Sie sich wirklich abmelden?" Auf mobilen Geräten ist das besonders störend. Hier ist Code, der die Bestätigung entfernt:
1 /** 2 * Logout without confirmation, redirect to home 3 */ 4 add_action( 'check_admin_referer', 'sd_logout_without_confirm', 10, 2 ); 5 function sd_logout_without_confirm( $action, $result ) { 6 if ( $action === 'log-out' && ! isset( $_GET['_wpnonce'] ) ) { 7 $redirect_to = isset( $_REQUEST['redirect_to'] ) 8 ? $_REQUEST['redirect_to'] 9 : home_url( '/' ); 10 $location = str_replace( '&', '&', wp_logout_url( $redirect_to ) ); 11 header( "Location: $location" ); 12 die; 13 } 14 }
Erstellen Sie ein vollständiges Backup der Website, bevor Sie dies hinzufügen. Die Funktion fängt die Nonce-Prüfung beim Logout ab und führt die Weiterleitung sofort durch, unter Umgehung der Bestätigungsseite. Testen Sie es nach der Installation: Öffnen Sie your-domain/wp-login.php?action=logout im Inkognito-Modus; Sie sollten ohne Zwischenseite zur Startseite weitergeleitet werden.
Einige Sicherheits-Plugins (Wordfence, Solid Security) überschreiben das Logout-Verhalten. Sollte die Bestätigung weiterhin erscheinen, deaktivieren Sie deren Option „Logout bestätigen" oder fügen Sie die URL /wp-login.php?action=logout zur Whitelist hinzu.
Szenario: benutzerdefinierte Login-Seite statt wp-login.php
Wenn Sie die Standard-Login-Seite durch eine eigene ersetzt haben (zum Beispiel über MemberPress oder WooCommerce), müssen Sie den direkten Zugriff auf wp-login.php umleiten:
1 /** 2 * Replace wp-login.php with custom login page 3 */ 4 add_action( 'init', 'sd_custom_login_page' ); 5 function sd_custom_login_page() { 6 global $pagenow; 7 if ( ! is_user_logged_in() && 'wp-login.php' === $pagenow ) { 8 wp_redirect( home_url( '/login' ) ); 9 exit; 10 } 11 }
Ersetzen Sie /login durch den Slug Ihrer Login-Seite. Das ist nützlich, wenn Sie ein Mitglieder-Dashboard-Plugin nutzen und das Standard-WordPress-Formular nicht zeigen möchten.
So blenden Sie die Admin-Leiste für alle außer Administratoren aus
Die WordPress-Admin-Leiste oben auf der Website ist nur für diejenigen nützlich, die die Website verwalten. Normale Nutzer benötigen sie nicht, und sie überfrachtet die Oberfläche, besonders wenn Sie ein Mitglieder-Dashboard mit klarem Design aufbauen.
Deaktivieren der Admin-Leiste per Code
Fügen Sie dies zu Code Snippets oder zur functions.php Ihres Child-Themes hinzu:
1 /** 2 * Hide admin bar for everyone except administrators 3 */ 4 add_action( 'after_setup_theme', 'sd_remove_admin_bar_for_non_admins' ); 5 function sd_remove_admin_bar_for_non_admins() { 6 if ( ! current_user_can( 'administrator' ) && ! is_admin() ) { 7 show_admin_bar( false ); 8 } 9 }
Die Funktion current_user_can('administrator') prüft die Rolle, und ! is_admin() stellt sicher, dass die Leiste im Admin-Bereich selbst sichtbar bleibt, wo jeder mit Zugriff sie benötigt.
Zugriff auf wp-admin sperren
Die Leiste auszublenden genügt nicht. Sie müssen auch den Zugriff auf /wp-admin/ für diejenigen sperren, die ihn nicht benötigen:
1 /** 2 * Block access to wp-admin for non-administrators 3 */ 4 add_action( 'admin_init', 'sd_block_wp_admin_for_non_admins' ); 5 function sd_block_wp_admin_for_non_admins() { 6 if ( ! current_user_can( 'administrator' ) && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) { 7 wp_redirect( home_url( '/restrict_user' ) ); 8 exit; 9 } 10 }
Die Bedingung DOING_AJAX ist entscheidend: Ohne sie blockieren Sie AJAX-Anfragen von Mitglieder-Dashboard-Plugins, die Nutzer von ihrem Profil aus ausführen müssen. Ersetzen Sie die Seite /restrict_user durch eine beliebige Platzhalterseite, zum Beispiel die Startseite oder eine Seite mit einer Meldung „Zugriff verweigert".
⁉️🤔 Häufig gestellte Fragen
Das Plugin Login or Logout Menu Item funktioniert nicht mit PHP 8.0, was kann ich tun?
Es gibt eine negative Bewertung auf WordPress.org zur Inkompatibilität mit PHP 8.0 vom Januar 2026. Das Plugin wurde jedoch bis WP 7.0 getestet, und über 20.000 aktive Installationen bestätigen den stabilen Betrieb auf modernen PHP-Versionen. Falls Sie auf einen Fehler stoßen: Überprüfen Sie die Plugin-Version (sollte 1.3.2 sein), deaktivieren Sie andere Weiterleitungs-Plugins, leeren Sie den Cache. Auf einer Testseite mit PHP 8.2 wurden keine Probleme festgestellt.
Kann ich das ohne Plugin, nur mit Code umsetzen?
Ja. Methode 2 in diesem Artikel deckt Login, Logout und Weiterleitungen vollständig über die
functions.phpab. Das Plugin ist komfortabler: Einstellungen aus dem Admin-Panel ohne Dateibearbeitung, Block-Editor-Unterstützung, automatische Updates. Wenn die Website einfach ist und Sie nur einen Login- und Logout-Button benötigen, nutzen Sie das Plugin. Wenn die Logik komplex ist (unterschiedliche Weiterleitungen nach Rolle, mehrere Login-Seiten), nutzen Sie Code.
Was soll ich tun, wenn der Menüpunkt im Block-Editor nicht erscheint?
Klicken Sie im Navigationsblock auf „+" und geben Sie „login" in die Suche ein (nicht „lolmiloginout"). Erscheint der Eintrag nicht, prüfen Sie, ob das Plugin aktiv ist und Ihre WordPress-Version 6.0 oder höher ist. Für ältere Themes ohne Block-Editor nutzen Sie die klassische Oberfläche unter Design → Menüs.
Wie richte ich Weiterleitungen für verschiedene Rollen über das Plugin ein?
Login or Logout Menu Item unterscheidet nicht zwischen Rollen; es führt eine Weiterleitung für alle Nutzer aus. Für rollenbasierte Weiterleitungen nutzen Sie den Code aus Methode 2: Die Funktion
sd_redirect_by_rolefunktioniert auch dann, wenn der Menüpunkt über das Plugin hinzugefügt wurde. Der Filterlogin_redirectwird nach der Plugin-Weiterleitung ausgeführt und überschreibt diese.
Warum erscheint die Logout-Bestätigungsseite immer noch?
Einige Sicherheits-Plugins (Wordfence, Solid Security) überschreiben das Logout-Verhalten auf ihrer eigenen Ebene. Deaktivieren Sie deren Option zur Logout-Bestätigung oder fügen Sie die Logout-URL zur Whitelist hinzu. Der Code aus Methode 2 greift vor den meisten Plugins, aber nicht vor allen; in seltenen Fällen müssen Sie das Sicherheits-Plugin selbst konfigurieren.
Wie unterscheidet sich WP-Recall von Login or Logout Menu Item?
WP-Recall ist ein voll ausgestattetes Mitglieder-Dashboard-Plugin: Profile, private Nachrichten, Gruppen, Commerce-Module. Login und Logout sind als Teil des Ökosystems integriert. Login or Logout Menu Item löst genau eine Aufgabe: einen dynamischen Login/Logout-Button im Menü. Wenn Sie ein komplettes Mitglieder-Dashboard mit vielen Funktionen benötigen, sehen Sie sich WP-Recall oder MemberPress an. Wenn Sie nur einen Button im Menü brauchen, ist Login or Logout Menu Item schlanker und bringt keinen Ballast mit.
Was Sie auf Ihrer Website einsetzen sollten: Plugin oder Code
Die schnelle Lösung für eine typische Website ist das Plugin Login or Logout Menu Item. Installieren Sie es, füllen Sie drei Felder in den Einstellungen aus, fügen Sie den Menüpunkt hinzu. In fünf Minuten funktioniert alles. Zwanzigtausend aktive Installationen und die Kompatibilität mit WP 7.0 bestätigen, dass das Tool ausgereift und gepflegt ist.
Wenn Ihre Login-Logik nicht trivial ist (unterschiedliche Weiterleitungen für verschiedene Rollen, Integration mit einem Mitgliedschafts-Plugin, benutzerdefinierte Login-Seite), nutzen Sie den Code aus Methode 2. Er ist flexibler, erfordert aber Vorsicht. Schreiben Sie Code über Code Snippets, nicht direkt in die Theme-Datei. Ein Tippfehler in der functions.php legt die Website lahm.
Eine Kombination aus dem Plugin für das Menü und Code für die Weiterleitungen ist der Kompromiss, den wir in den meisten Projekten einsetzen. Das Plugin bietet komfortable Menüpunkt-Verwaltung und Block-Editor-Unterstützung. Benutzerdefinierter Code behandelt spezifische Rollen- und Weiterleitungsanforderungen, ohne die Plugin-Einstellungen zu verkomplizieren.
Entscheiden Sie anhand Ihrer Aufgabe, nicht nach der Checkliste eines anderen. Für eine einfache Website mit einem Mitgliederbereich genügt das Plugin. Für einen Marktplatz oder eine Bildungsplattform ist Code unverzichtbar. Behalten Sie in jedem Fall ein Backup, bevor Sie Änderungen vornehmen, und testen Sie auf einer Staging-Kopie.



