it-swarm.com.de

Wie melde ich mich sonst überall ab, zerstöre alle Sessions "alle anderen Geräte"?

Der WordPress-Panel-Service "Überall abmelden" leistet gute Arbeit. Ich möchte dies als Funktion außerhalb des Panels verwenden.

Screenshoot

 enter image description here 

3
lllllllllllll

Diese Schaltfläche sendet eine AJAX -Anforderung, die wp_ajax_destroy_sessions() ausführt.

Es ist nicht wirklich so abstrahiert, dass Sie es außerhalb von AJAX wiederverwenden können, aber wenn Sie die Quelle in Ihre eigene Funktion ohne die JSON-Teile kopieren, können Sie dieselbe Aktion selbst ausführen.

Der Schlüsselteil ist dieses Bit, das alle Sitzungen für eine bestimmte Benutzer-ID zerstört:

$sessions = WP_Session_Tokens::get_instance( $user_id );
$sessions->destroy_all();

Der Rest der Funktion überprüft lediglich, ob der Benutzer vorhanden ist, überprüft die Berechtigungen und sendet eine JSON-Antwort. Sie sind möglicherweise für Ihren Anwendungsfall nicht relevant, daher kann das oben Genannte ausreichen.

3
Jacob Peattie