Destroy user sessions based on user ID

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
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.

Leave a Comment