WordPressでパスワード制限をかけたページが公開されてしまう場合の対処法

WordPressではページごとにパスワード制限をかけてページを非公開にすることができます。

パスワードの設定方法

投稿画面の「公開状態」から「パスワード保護」を選択するとパスワードの入力欄が表示されます。
この機能でパスワード保護をするとページにアクセスしても、下記のような状態になりパスワードの入力を求められます。

パスワードの保護状態

例えば会員専用ページや限定公開の記事を作成する際に便利ですね。

パスワード制限が有効にならないときはテンプレートが原因

しかし、固定ページでは非公開にしたはずのページが公開されてしまう場合があります。
これは固定ページのテンプレートを使っているときに発生します。

固定ページのテンプレートの選択

このようにWordPressの固定ページではテンプレートを選択することができます。
しかし、デフォルトテンプレート以外にパスワード保護をかけた場合、パスワード保護が有効にならないことがあります。

今回は固定ページのテンプレートを編集して、パスワード保護を有効にする方法を解説します。

テーマの編集には必ず「子テーマ」を使用してください。
「子テーマ」で編集しないと、テーマのバージョンアップをすると今回の編集が消えてしまいます。

→子テーマの作り方はこちら

WordPress管理画面でファイルを確認する

まず「外観」→「テーマの編集」からテーマファイルを確認します。

固定ページテンプレートファイルの確認

たくさんのファイルがありますが、固定ページのデフォルトテンプレートファイルは「個別投稿ページ(page.php)」というファイル名です。使用しているテーマよっては、他に「page-abc.php」「page-123.php」など複数のテンプレートを用意している場合があります。
この場合はパスワード制限をかけたいページのテンプレートファイルを探してください。

使用中のテーマによってテンプレートの詳細は異なりますので、「この部分を変える」と断定することはできません。
例えばデフォルトテンプレートの本文入力箇所は次のようなコードで書かれています。

固定ページの入力が反映されるのが「<?php the_content(); ?>」というコードで、その前後のコードは本文入力箇所の「始まり」と「終わり」を意味しています。
「<?php the_content(); ?>」というコードはWordPressのタグの一つで、このコードが使われていればパスワード保護は有効になります。

オリジナルのテーマやカスタマイズしたテンプレートはこの部分の記述が異なるので、パスワード保護が機能しなかったということです。固定ページテンプレートをよく確認してください。

テンプレートと本文入力箇所の確認ができれば、FTPでファイルをダウンロードして編集します。

FTPでファイルをダウンロードして編集

パスワード保護を有効にしたいテンプレートをFTPソフトでダウンロードします。

ダウンロードしたテンプレートをテキストエディタで開き、先ほど確認した固定ページの本文箇所を編集します。
下記のコードを記載してください。

終わりに

これで固定ページテンプレートでもパスワード保護が有効になります。
カスタマイズしたテンプレートを使っているときなど、パスワード保護が機能しない場合に参考にしてください。