ワードプレス(WordPress)

ワードプレスで特定の記事を非公開にするなら、パスワードで保護するという方法が標準機能なのでベターですね

この記事は約4分で読めます。

パスワードで保護パスワードで保護するという方法で、特定の記事に対して閲覧権限を付与することができます。この方法のよいところは、ワードプレスの標準的な機能で使えるので、特殊なプラグインを入れる必要がなく、簡単に設定できることです。
実際に設定してみて、その特徴と注意点や応用について検討してみました。

ワードプレスで特定の記事を非公開にする

標準的なのは「パスワード保護」です

ワードプレス標準機能のパスワード保護を使うのが一般的です。実際にパスワード保護を設定すると、そのページは「保護中」という表示になります。

ワードプレスで特定の記事を非公開にする

このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。

という表示がされます。パスワード欄にパスワードを入力して確定ボタンをクリックしないとページ内容を見ることができません。

このページは投稿一覧に現れなくなるので、特定の人に見てもらうにはその該当記事とパスワードを伝えておく必要があります。

パスワードの設定方法

パスワード保護したい投稿の「公開」という設定部分にある「公開状態」のところに「パスワード保護」があります。

この「パスワード保護」を選択し、パスワードを設定し「OK」をクリックします。そして新規投稿なら「公開」を、ページの編集なら「更新」をクリックすればパスワード保護されたページになります。

もっと高度なパスワード保護をしたいならプラグインを利用します

もっと高度なパスワード保護ができないかを検討してみました。

今回は、ページの途中まで読むことができて、その下部を読みたいときにパスワードが必要というような設定ができないかどうかについて試してみました。

イメージ的には、「note」などの記事で途中まで読めるけれどある部分より下部を読みたいときは会員になるか課金しないと読めない設定です。

PPWPが評判よさそうでしたが…

調べてみると「PPWP」というプラグインの評判がよさそうでしたので使ってみました。正式名称は「PPWP – Password Protect Pages」というプラグインです。新規プラグイン追加の画面で検索すると表示されます。

このプラグインのよいところは、パスワード保護の方法でいろいろなオプションが選べることです。

How to Protect Partial Content with Section Protection - Password Protect WordPress Pro
Beside the default WordPress content, you can now partially protect content of any custom templates. This comes in handy...

今回は、ページの途中まで読むことができて、その下部を読みたいときにパスワードが必要というような設定については、プラグインの仕様をみるとそのような設定ができそうでした。

Show Post Excerpt
Display excerpt of password protected posts. You can also customize the default excerpt using a custom code snippet.

この英文を約すると…

投稿の抜粋を表示
パスワードで保護された投稿の抜粋を表示します。 カスタム コード スニペットを使用して、デフォルトの抜粋をカスタマイズすることもできます。

つまり、本文の途中にショートコードを挿入することで、それ以降の部分の表示にパスワード制限をかけるということができそうです。

[ppwp passwords=“password1 password2”] 保護されるコンテンツ [/ppwp]

このショートコードでは、「password1」と「password2」は、ユーザーが入力する必要があるパスワードです。ショートコードの開始タグ [ppwp] と終了タグ [/ppwp] で囲まれたコンテンツがパスワードで保護されます。ユーザーが適切なパスワードを入力すると、この部分のコンテンツが表示されます。

こんな感じでショートコードを挿入するだけで設定できるのなら便利ですね。

ただし、実際に設定しようとするといくつかの問題がでてきました。

・日本語化されていないためすべて英文の解説しかない
・パスワード設定がかなりややこしい
・やっと設定したページが「503エラー」で表示できない

503エラーが表示されるというのは、エックスサーバーのWAFでこのプラグインの挙動がブロックされているからです。

WAFを停止してまで使いたいプラグインではなかったので、今回は設定をあきらめました。