WordPressの投稿ページ・固定ページのパスワード保護機能が効かない

既に公開中のサイトでも、サンプルページを作成して社内にだけオープンにしたい場合、サイト全体でなく、個別のページだけパスワード保護機能を使用することは多いかもしれません。

投稿ページや固定ページの編集画面で、公開状態を簡単に「公開」「非公開」「パスワード保護」を選択して設定できます。
非公開設定(WordPressにログインした状態のときだけコンテンツが閲覧できる)でもよいのですが、ユーザー以外の方に共有する場合でしたら、わざわざWordPressのログイン情報まで伝えなくても、パスワード保護のほうが手軽ですよね。

ということで、あるサイトでさらっとパスワード保護設定にしてみたのですが、アクセスし直してみても丸見え。タイトルに「Protected:」とついているものの、記事全部丸見えでした。

使用していたテーマは「_S(アンダースコア)」で子テーマを作成して、プラグイン「カスタムフィールドテンプレート」を使用して何種類かテンプレート作成していて選択したテンプレートによってsingle.phpの中で条件分岐させていたんですが、それがよくなかったぽいです。

とりあえず、single.phpの最初のループ部分にこちらを追記したら無事パスワード保護できました。

参考URL:WordPress 個別記事に対する「パスワード保護」を利用する関数

とっても助かりました。

で、_Sだとパスワードフォームのテキストが全部英語になってしまうので、functions.phpでテキストも変更しました。

これですっきり解決しました。
心置きなくパスワード保護ができますね。

WordPressって万能だなあ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

top