Nur eine eingeloggte Sitzung für WordPress-Benutzer zulassen

WordPress erlaubt standardmäßig mehrere gleichzeitige eingeloggte Sitzungen pro Benutzer. Das heisst du kannst dich bei unbegrenzt vielen Geräten gleichzeitig anmelden. Das ist aber nicht immer gewünscht und WordPress bietet keine Möglichkeit die Anzahl der gleichzeitigen Sitzungen anzuzeigen bzw. mit einem Wert festzulegen. Wenn man keinen Zugang zum WordPress Backend hat, kann man andere Sitzungen nicht abmelden.

So kannst du alle Sessions in WordPress beenden

wordpress user sessions ueberall abmelden Es gibt zum einen die Möglichkeit über das WordPress Backend alle Sessions zu beenden. In der Bearbeitungsseite des Profils kann man auf den Button „Überall sonst abmelden“ drücken. Wichtig, wenn man beispielsweise vergessen hat sich in einem Internetcafé auszuloggen. Jedoch will man den Kunden seiner Seite nicht immer den WP-Backend Zugang erlauben. Das heisst es muss eine andere Möglichkeit her.

Keine Produkte gefunden.

Nur eine Sitzung für WordPress-Benutzer zulassen – Alle anderen Sessions mit einer function beenden

Der folgende Code-Schnipsel „zerstört“ beim neuem einloggen automatisch alle anderen Sessions von Benutzern, die mit der gleichen user_id eingeloggt sind. Somit kann nur ein Benutzer gleichzeitig bei WordPress eingeloggt sein.

function destroy_all_sessions() {
	$session_token		=	wp_get_session_token();
	if ( isset( $session_token) && strlen( $session_token ) ) {
		$sessions = WP_Session_Tokens::get_instance( get_current_user_id() );
		$sessions->destroy_others( $session_token );
	}
}
add_action('init', 'destroy_all_sessions');

Die Benutzer müssen nicht mehr auf die Schaltfläche „Überall anders abmelden“ klicken, denn die Funktion macht dies automatisch für den Besucher im Hintergrund. Du musst die Funktion nur in die functions.php deines Themes hinterlegen.

Keine Produkte gefunden.

revilodesign oli

2 Kommentare

Schreibe ein Kommentar zu Nur eine eingeloggte Sitzung für WordPress-Benutzer zulassen

  1. avatar adrianAdrian sagt:

    Sollte es nicht
    $sessions->destroy_others($session_token);
    heißen? Denn eine Variable $token ist in dem Codefragment nirgendwo deklariert.

    • avatar adminadmin sagt:

      Hey Adrian,

      absolut richtig 😉 Ich ändere es sofort. Bienchen.

      LG Oli

Hinterlasse ein Kommentar zum Beitrag "Nur eine eingeloggte Sitzung für WordPress-Benutzer zulassen"

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Letzte Aktualisierung am 2024-11-21 / Affiliate Links / Bilder von der Amazon Product Advertising API

Follow Me

doch mal auf Instagram