はじめに
WordPressでは、ログイン状態が一定時間維持される仕組みが標準で用意されています。
管理画面にログインしたあと、しばらく操作しなくても再ログインを求められないのは、このログインセッション管理によるものです。
特にログイン画面にある「ログイン状態を保存する」のチェック有無によって、ログイン保持時間は次のように変わります。
- 「ログイン状態を保存する」未チェック:48時間
- 「ログイン状態を保存する」チェックあり:14日間
この挙動はWordPressの標準仕様ですが、サイトの運用方針によってはログインセッション時間を変更したい場面もあるでしょう。
この記事では、この方法について説明します。
実装手順
以下のコードをfunctions.phpに追加します。
add_filter('auth_cookie_expiration', function (int $expiration, int $user_id, bool $remember): int {
// 「ログイン状態を保存する」にチェックがある場合
if ($remember) {
return 7 * DAY_IN_SECONDS; // 7日間
}
// 通常ログインの場合
return 12 * HOUR_IN_SECONDS; // 12時間
}, 10, 3);
さいごに
今回紹介した方法を使えば、WordPressのログインセッション時間をサイトの運用方針に合わせて柔軟に変更できます。
デフォルト設定のままでも問題ない場合は多いですが、管理者や編集者が複数いるサイトでは、ログイン保持時間を調整することでセキュリティや利便性を高めることができます。
用途に応じて適切なログイン管理を行い、安全で扱いやすい管理環境を構築していきましょう。

