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

    Keine Inhalte gefunden.

    Werbung

     

    Pin It on Pinterest

    Share This