WordPress にログインする際、パスワードを保持できる期間(Cookieの有効期間)はデフォルトで「10日」に設定されていますが、今回はfunctions.php を編集してこの期間を変更する方法を紹介させていただきます。
Cookie の有効期間を変更する
セキュリティ上、パスワード保持期間を短くするか、ユーザーにログインして使ってもらうためにある程度長めの期間を取るか、運営するサイトによって必要な期間は変わってくるかと思います。WordPress のバージョン3.7以上ではpost_password_expiresフィルターによりオートログインの期間変更が可能になっていますので、ご利用のテーマのfunctions.php に以下のような記述を追加します。
1 2 3 4 5 |
function customize_cockie_timeout($timeout) { return time() + 4 * WEEK_IN_SECONDS; } add_filter('post_password_expires','customize_cockie_timeout'); |
上記の場合は「4週間」になります。
期間の指定方法について
上記例のように、4週間の場合は「28日」「2419200066ミリ秒」のように期間の指定方法はいろいろあるのですが、wp-includes/default-constants.php
の中でいくつか期間が定義されていますので、今回はこちらを利用してみました。
1 2 3 4 5 6 |
define( 'MINUTE_IN_SECONDS', 60 ); define( 'HOUR_IN_SECONDS', 60 * MINUTE_IN_SECONDS ); define( 'DAY_IN_SECONDS', 24 * HOUR_IN_SECONDS ); define( 'WEEK_IN_SECONDS', 7 * DAY_IN_SECONDS ); define( 'MONTH_IN_SECONDS', 30 * DAY_IN_SECONDS ); define( 'YEAR_IN_SECONDS', 365 * DAY_IN_SECONDS ); |
有効期間を「1年」にしたい場合は、
1 2 3 4 5 |
function customize_cockie_timeout($timeout) { return time() + 365 * DAY_IN_SECONDS; } add_filter('post_password_expires','customize_cockie_timeout'); |
でも良いですし、
1 2 3 4 5 |
function customize_cockie_timeout($timeout) { return time() + YEAR_IN_SECONDS; } add_filter('post_password_expires','customize_cockie_timeout'); |
のように記述しても良いです。
参考ページ
pass-protected pages and posts not protected after enter them 1 time
コメント