Der WordPress-Panel-Service "Überall abmelden" leistet gute Arbeit. Ich möchte dies als Funktion außerhalb des Panels verwenden.
Screenshoot
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.