I want to programatically log a specific user out of our WordPress system based on their user ID much like the ‘Log Out of All Sessions’ button in the WordPress user editor section.
How am I able to do this?
1
OK, simple solution after digging in the WordPress code.
// get all sessions for user with ID $user_id
$sessions = WP_Session_Tokens::get_instance($user_id);
// we have got the sessions, destroy them all!
$sessions->destroy_all();
This will log the user with ID $user_id
out of WordPress.
Use case: My use case for this is when a user is approved moderation, but then the situation changes and they are declined, they will be ‘kicked’ from the system if they have any active login sessions.