WordPressの固定/投稿ページをパスワード保護する期間を変更する方法を説明します。
保護パスワード機能とは
好きな投稿や固定ページに簡単にパスワードをかけて保護してくれる機能です。
この「パスワード保護」はWordPressのユーザーログイン機能を使っています。
一度入力したパスワードの有効期限
パスワード保護されたページを閲覧するために一度パスワードを入力すると、その後は再度パスワード入力しなくても、一定期間であれば保護されたページを閲覧できます。
閲覧者のPCにクッキーとしてパスワードが記憶されるからです。
初期値(デフォルト)では、10日間はパスワード入力しなくても開けるようになります。
パスワードの有効期間/時間を変更する
2つの方法を説明します
functions.php の一番最後に下記コードを追加する方法
「子テーマ」の functions.php に下記CSSコードを追加してください。
すでに書かれているコードの一番最後に、一行開けて、コピペでOKです。
下記の場合は1時間でパスワードが無効になります。
/*保護パスワードを無効するまでの時間*/
function custom_post_password_expires() {
return time() + HOUR_IN_SECONDS ;
}
add_filter('post_password_expires', 'custom_post_password_expires' );
}
保護パスワードを無効にする期間は上記コードの HOUR を置き換えることで自由に変更できます。
- 1分 MINUTE
- 1時間 HOUR
- 1日 DAY
- 1週間 WEEK
- 1年 YEAR
保存を忘れずに
CSSを追加したとは、必ず「保存」をクリックしてください。
wp-pass.phpを修正する方法
WordPressのトップディレクトリにあるwp-pass.phpを以下に従って修正してください。
初期値(デフォルト)では10日間=864000秒と設定されている。
setcookie('wp-postpass_' . COOKIEHASH, stripslashes( $_POST['post_password'] ), time() + 864000, COOKIEPATH);
これを毎回パスワード入力をするように変更したい場合は、864000を0に修正します。
setcookie('wp-postpass_' . COOKIEHASH, stripslashes( $_POST['post_password'] ), 0, COOKIEPATH);
まとめ
保護パスワードの有効期限はクッキーとして記憶されています。
保護パスワードの有効期限は下記の2通りの方法で調整できます。
- functions.php にコードを追加する
- wp-pass.phpを修正する
以上です。