Lesefortschritt:

Hinzufügen eines Login/Logout-Links zum Word­Press-Menü

16. März 2025 | functions.php, Word­Press

Trick # 438 | Dieser Beitrag beinhaltet 610 Wörter. – Geschätzte Lesezeit: ca. 4 Minuten.

Member-Bereiche sind beliebt und in Word­Press einfach machbar. Sie können in einem Word­Press-Menü auch einen Link zur Anmeldung/Abmeldung hinzufügen. Das geht ganz einfach.

Das Word­Press-Menü muss über Design/Menüs erstellt werden und einen Anzeigeplatz im Theme haben.

Der folgende Block muss zusätzlich der Datei functions.php Ihres Themes hinzugefügt werden. Sie finden die Datei unter Design/Theme-Datei-Editor:

add_filter( 'wp_nav_menu_items', 'themeprefix_login_logout_link', 10, 2 );
function themeprefix_login_logout_link( $items, $args  ) {
if( $args->theme_location == 'primary' ) {
	        $loginoutlink = wp_loginout( 'index.php', false );
	        $items .= '<li class="menu-item login-button">'. $loginoutlink .'</li>';
			return $items;
	    }
	    return $items;
}

Der An-/Abmeldelink wird dem Hauptmenü automatisch hinzugefügt. Wenn Sie auf der Website angemeldet sind, steht auf dem Link «Abmelden», wenn Sie angemeldet sind, steht auf der Website «Anmelden».

Noch zwei Infos:

  • Sie können den Standardwert von index.php (in Zeile 4) in eine andere Weiterleitungsseite ändern.
  • Wenn Sie den zusätzlichen Menüpunkt gestalten möchten, fügen Sie einfach eine CSS-Klasse in den <li>-Tag ein. In unserem Fall haben wir die CSS-Klasse «.login-button» hinterlegt. Sie können die Klasse im CSS-Stylesheet (unter Design/Customizer/Zusätzliches CSS) ansprechen und stylen.

Feintuning

Um verschiedene Ziele für die An- und Abmeldung zu definieren, können Sie eine Bedingung einbauen. Der folgende Code kommt (anstelle des obigen Blocks) in die Datei functions.php Ihrer Word­Press-Installation. Diese können Sie im Backend unter Design/Theme-Datei-Editor bearbeiten:

add_filter( 'wp_nav_menu_items', 'themeprefix_login_logout_link', 10, 2 );
function themeprefix_login_logout_link( $items, $args  ) {
    if( is_user_logged_in()  ) {
            $loginoutlink = wp_loginout( 'members', false );
            $items .= '<li class="menu-item login-button">'. $loginoutlink .'</li>';
            return $items;
    }
    else {
            $loginoutlink = wp_loginout( 'index.php', false );
            $items .= '<li class="menu-item login-button">'. $loginoutlink .'</li>';
            return $items;    
    }
}

Hier sind also alle Menüs zielgerichtet und die Anmelde- und Abmeldeziele sind unterschiedlich, je nachdem, ob der Benutzer angemeldet ist oder nicht.

Die Weiterleitungsziele können Sie ebenfalls anpassen:

  • In Zeile 5 ersetzen Sie die Weiterleitung nach dem Login auf die Seite «members» mit der gewünschten Seite und …
  • … in Zeile 10 definieren Sie, wohin nach dem Logout weitergeleitet wird: In unserem Falle auf die Seite «index.php».

 

Werbung

Word­Press-Sitemap deaktivieren

Seit der Version 5.5 bietet Word­Press (endlich) die Funktion einer eingebauten Sitemap an, mit welcher Google & Co. über Änderungen und neue Beiträge auf dem Laufenden gehalten werden. Deren Funktionen sind jedoch etwas eingeschränkt und viele ...
Keine Inhalte gefunden.

Werbung

 

Pin It on Pinterest

Share This
Überblick über den Datenschutz

Diese Website verwendet Cookies, damit wir Ihnen die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in Ihrem Browser gespeichert und dienen dazu, Sie wiederzuerkennen, wenn Sie auf unsere Website zurückkehren, und unserem Team zu helfen, zu verstehen, welche Bereiche der Website Sie am interessantesten und nützlichsten finden.