WordPress パスワード保護ページの改変

ブログの記事で非公開のページはパスワードで保護するわけだが、デフォルトでは何故保護しているのかわからないので変更してみました。

(1)サーバにログインし、wp-content/themes/テーマ名/functions.php  のパーミッションが

-rw-r–r– 1 sigh staff 17751 Jun 22 13:44 functions.php

つまり 644 になっているから 777 にする。
# chmod 777 functions.php ですね。

-rwxrwxrwx 1 sigh staff 17751 Jun 22 13:44 functions.php

となったことを確認する。
# cp functions.php functions.php20170627 とかにしてバックアップを作っておくこと。

(2)ブログにログインし 外観 テーマの編集 から テーマの関数(functions.php) を開く。
下の方に

のように「ファイルを更新」ボタンが出現することを確認する。

(3)   と保護した記事のタイトルに付く「保護中:」という文字を削除する。

をこのfunctions.php の最後の「endif;」の下に加える。

(4) 表示テキスト「このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。」を変更する。
パスワードで保護している意味を説明したほうが親切でしょ。

「この記事は管理人のメモなので非公開にしています。」としたけど、好きな文字列に置き換える。先程同様にfunctions.php の最後に加える。

(4)Cookieの有効期限を変更
デフォルトではCookieの有効期限は10日間らしいので1日だけにする。

これを同様に最後に書き加える。
DAY_IN_SECONDS が1日のこと
HOUR_IN_SECONDS にすれば1時間
600 のような数字にすれば秒単位の時間になる。600は10分ですね。

(5)「ファイルを更新」ボタンをクリックし、問題なければパーミッションを元に戻しておしまい。
# chmod 644 functions.php ですね。
エラーがあると。ページが見えなくなっちゃったりするから、サーバに戻ってバックアップから復元してやり直す。
バックアップを削除してもいいですけど、間違えがあったらまずいのでしばらくは保存しておきましょ。

WordPres Theme TCD というブログの「WordPressのパスワード保護ページをカスタマイズする方法」を参照しましたというか、ほとんどそのままです。