コピペで完了!WordPressの固定/投稿ページの保護パスワード有効期限/時間を変更する

wordpress

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通りの方法で調整できます。

  1. functions.php にコードを追加する
  2. wp-pass.phpを修正する

以上です。

タイトルとURLをコピーしました