web-dev-qa-db-ja.com

ユーザーIDに基づいてユーザーセッションを破棄する

WordPressユーザーエディタセクションの[すべてのセッションからログアウト]ボタンのように、特定のユーザーをユーザーIDに基づいてプログラムでログアウトさせたいのです。

どうすればこれを実行できますか。

5
Chris

WordPressのコードを調べた後は、これで簡単です。

// 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();

これはWordPressからID $user_idのユーザーをログアウトさせます。

ユースケース: ユーザーがモデレートを承認したが、その後状況が変化して拒否された場合、私のユースケースはアクティブなログインセッションがあるとシステムから「キック」されます。

13
Chris