カテゴリーにパスワードを付けたい

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

カテゴリー1・2・3・4・5とA・B・C・D・E があり、投稿はそれぞれ1つずつのカテゴリーが選択される。Aは一般に公開されるがB・C・D・E はパスワードを要求する。パスワードは1・2・3・4・5 でそれぞれ異なる。

カテゴリー1・2・3・4・5 を表示する固定ページを5ページ作成し、カスタムフィールドで主たるカテゴリーを設定し、それぞれパスワードを設定。
5ページの入口となるページからのリンク、各ページ内のA・B・C・D・E へのリンクにはカテゴリースラッグのパラメータを付けて、カスタムフィールドのカテゴリーとパラメータのカテゴリーで絞り込む。
Aのときは普通に表示、B・C・D・E のときはパスワードを要求後に表示。

パスワードをクリアしたときは1・2・3・4・5 の年月アーカイブリストを表示。アーカイブリストのリンクにはパスワードをクリアしている意味のパラメータを付ける。
カテゴリー別のアーカイブはカテゴリー用テンプレートで表示するので、カテゴリーテンプレートで年月とカテゴリーを取得してパラメータを付けて元の固定ページに戻す。

<?php if ($_GET['pass'] == 'clear') { $cate = $_GET['cat']; $year = get_query_var('year'); $month = get_query_var('monthnum'); $id = url_to_postid(wp_get_referer()); $ref = get_permalink($id); wp_redirect ($ref.'?cate='.$cate.'&year='.$year.'&month='.$month); exit; } else { wp_redirect( home_url('/login.html')); exit; } ?>

パスワードクリアのパラメータがないときは入り口ページに戻す。
固定ページでパラメータに年月を含むときは年月の絞り込みを追加。

固定ページでカテゴリーや年月のパラメータがない時も入り口ページに戻す。

2021.7追記
このときはかなり特殊な構造で、かつ、固定ページのパスワード保護機能を使うしか思いつかなかったので。
今なら、かつ、単純にカテゴリーにパスワードを付けるなら、ACFでカテゴリーページにパスワードを設定・フォームを作成・カテゴリー用テーマで送られたパスワードと設定されたパスワードを照合して、一致したら表示、が良いと思う。
https://web-taiyo.com/mfn/works/210317.html