Steamer Lane Studio技術備忘録WordPress

WordPressをアプリ利用などした際のログアウト管理

wordpress WordPressをアプリ利用などした際のログアウト管理 作成日: 2026年4月30日

アプリじゃなくてもそういった利用=複数ユーザーのログオン・ログアウトがある場合、特にログオン状態を維持禁止にしていると定時で強制ログアウトさせられるが、それが連続した場合にサーバー側のプロセス滞留が起きて最悪ダウンしかねないのでその軽減策。

そこまでするならWP使うなって話だが、箱としては使いやすい部分もあるの、アプリユース=sse通信採用時など特に溜まると困るので、その滞留防止も付けた。
滅多に使わないけど、あっても困るものではないしね。

// ログアウト処理そのものを最短で終わらせるadd_action('wp_logout', function() {// リダイレクトを阻止し、200番台を返してプロセスを即座に開放if (defined('DOING_AJAX') || isset($_GET['sse_request'])) {status_header(204); // または 200exit;}}, 1);

// ログアウト完了後(未認証)のSSEリクエストを門前払いするadd_action('init', function() {// SSEリクエストであり、かつ認証が切れている(強制ログアウト後など)場合if (isset($_GET['sse_request']) && !is_user_logged_in()) {// WPのフルロードを待たずに終了(404空叩きに近い負荷に抑える)status_header(401);exit;}}, 1);