• RSS

[WP]WordPress でパスワード保持期間(Cookie有効期間)を変更する方法

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

WordPress にログインする際、パスワードを保持できる期間(Cookieの有効期間)はデフォルトで「10日」に設定されていますが、今回はfunctions.php を編集してこの期間を変更する方法を紹介させていただきます。

Cookie の有効期間を変更する

セキュリティ上、パスワード保持期間を短くするか、ユーザーにログインして使ってもらうためにある程度長めの期間を取るか、運営するサイトによって必要な期間は変わってくるかと思います。

WordPress のバージョン3.7 以上ではpost_password_expires フィルターによりオートログインの期間変更が可能になっていますので、ご利用のテーマのfunctions.php に以下のような記述を追加します。
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
の中でいくつか期間が定義されていますので、今回はこちらを利用してみました。
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年」にしたい場合は、
function customize_cockie_timeout($timeout) {
	return time() + 365 * DAY_IN_SECONDS;
}

add_filter('post_password_expires','customize_cockie_timeout');
でも良いですし、
function customize_cockie_timeout($timeout) {
	return time() + YEAR_IN_SECONDS;
}

add_filter('post_password_expires','customize_cockie_timeout');
のように記述しても良いです。



  • このエントリーをはてなブックマークに追加
  • follow us in feedly

コメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください