WordPressで特定のカテゴリーにだけパスワード制限を設けたい(その1)

WordPressには標準で、記事のパスワードロック機能が付いていますが、記事単位ではなくて、カテゴリー単位で制御したい時がありますよね。
会員にのみ公開したい記事が、複数ある時や、文書を配布したい時など、カテゴリー単位でパスワードをかけたいと思う場面は多いと思います。

しかしながら、そもそもWordPressのカテゴリーには、フォルダが存在しません。 カテゴリーというグループがまるであるかのように、URLをシミュレートしているだけです。

パスワードロックが正常に動くようにするために、ロックするカテゴリーの記事は、複数のカテゴリーにまたがっていたりしないように配慮しましょう。

《その1》PHPの条件分岐を使ってBasic認証をかける

まず、パスワードロックするカテゴリーを作ります、作成したらそのカテゴリーIDをメモしておいてください。

functions.phpにソースを追記

WordPressでBasic認証を有効にするために、functions.phpに以下のソースを追加してください。

header.phpにソースを追記

次に、特定のカテゴリーの時だけ、パスワードロックをしたいので、その条件分岐をheader.phpに追加します。

数字がカテゴリーIDです。ユーザーIDとパスワードは好きなものに変更してください。

.htaccessにソースを追記

これで完了です。制限をかけたカテゴリーにアクセスしてみて、IDとパスワードを要求されたら、成功です。