wordpress 特定のカテゴリにパスワードをかけたい

日記

このブログとは別のWordPressの初期設定を任されました。

特定のカテゴリにパスワードをかけたいということで、プラグインでどうにかなると思ってました。

とりあえずカテゴリページの記事一覧は見えなくしました。

コードの知識が無い僕ができることは試したつもりなので、覚書として記事にメモしておきます。

現状

今の状態はこんな感じです。

  • 1
    カテゴリページ

    固定ページでパスワード入力ページを作成した

  • 2
    ログイン後のページ

    カテゴリページへのリンクを表示。

    これをクリックしてもらう。

  • 3
    カテゴリページ

本当にやりたいのは、パスワードを入力したら記事一覧に飛びたいんです。

“ログイン後のページ”がいらないんです。

プラグインでは、パスワードをかけたカテゴリの記事一覧が見えてしまいます。

記事一覧を見えなくしたかったので、この形になりました。

試したプラグインは2つあります。

試したプラグイン

Access Category Password

カテゴリ内の記事一覧が見えてしまう。

本文は見えないけど記事の概要が設定されていたら見える。

Restrict User Access

WordPressのIDが必要で、登録の手間がかかるし普通にパスワード入力だけにしたい。

自作のプラグイン

思ったものが無いなら作ってしまえ!ということで、ChatGPTで希望通りに機能するプラグインが作れました。

ですが、デザインを維持できなかったので、使うのを諦めました。

コードをコピペした

見た目が崩れたりログインできなくなったりするのが嫌なので、コードをいじるのは避けてました。

ですが、残された手段はコードでどうにかする以外思いつきませんでした。

ということで、まずはパスワードを設定したいカテゴリを非表示にしました。

functions.phpに以下のコードを追加しました。

//トップページから特定のカテゴリの除外
function exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-ID' );//マイナスをつけてカテゴリIDを除外する
}
}
add_action( 'pre_get_posts', 'exclude_category' );

4行目の「cat’, ‘-ID’」のIDは非表示にしたいカテゴリIDを入力します。

この後にこちらのページを参考にさせていたたき、パスワードフォームを設定しました。

【Wordpress】記事の途中からパスワード必須にする方法(途中まで表示) – 快適情報忘備録 第二支部

そしてできあがったのが現状になります。

どうにかログイン後のページをなくしたいですが、下手に触りたくありません。

ここばかりに時間をかけてもしょうがないので、今はこのままにしておきます。

ショートコードのところにリンクが貼れなかったので、別の方法で設定しました。

コメント

タイトルとURLをコピーしました