WordPressにログインする際に、「ログイン状態を保存する」にチェックを入れてログインすると、Cookieの有効期限が14日にセットされます。つまり、14日間はサイトにアクセスしていなくてもログイン状態が保持されます。「ログイン状態を保存する」にチェックを入れていない場合は、ログイン状態はブラウザを閉じるまで保持されます。
今回は、この自動ログアウトされるまでの時間を変更する方法をご紹介いたします。
WordPressで自動ログアウトされるまでの時間を変更する方法
functions.phpに以下コードを追加することで、自動ログアウトまでの時間を変更できます。
function auto_logout_time_change( $expire ) { return 5184000; //60日(60 * 60 * 24 * 30) } add_filter( 'auth_cookie_expiration', 'auto_logout_time_change' );
「5184000」の部分がCookieの有効期限(秒数)になるため、この部分は任意で変更してください。ここで設定した時間まで自動的にログアウトされることがなくなります。
一定時間操作がなかった場合に自動ログアウトする
一定時間何も操作をしていなかった場合に自動ログアウトさせたい場合は、functions.phpに以下を追加します。この方法は、WordPress私的マニュアルさんで紹介されていました。
add_action( 'admin_init', 'mytheme_admin_init' ); function mytheme_admin_init() { add_filter( 'auth_cookie_expiration', 'mytheme_auth_cookie_expiration', 10, 3 ); $user = wp_get_current_user(); wp_set_auth_cookie( $user->ID, true ); } function mytheme_auth_cookie_expiration( $expiration, $user_id, $remember ) { if ( $remember ) $expiration = 3600; return $expiration; }
上記の場合、1時間(3600秒)以上何も操作しなかった場合、自動ログアウトされます。自動ログアウトまでの時間を変更したい場合は、「3600」のところを変更してください。
あとがき
単純に自動ログアウトまでの時間を変更したい時は最初の方法、操作の有無を判定して自動ログアウトさせたい場合は2つ目の方法をお試しください。
自動ログアウトされるまでの時間を変更したい場合は、ぜひ参考にしていただければと思います。