WordPress のループで、特定のカテゴリーを除外するのは、
それほど難しくはありません。
検索すれば、ネット上にもたくさんの情報が出ていると思います。
ループの部分にどのようなコードを書いているかにもよりますが、
pre_get_posts で、$query->set( 'cat', '-1,-34' );
のように
カテゴリーの ID にマイナスをつけると、カテゴリー ID 1と34の投稿が、除外されます。
WP_Query の場合は、$query = new WP_Query( 'cat=-34' );
で、カテゴリー ID 34の投稿を除外して表示することができます。
自分の質問に対する返答になってませんが…
それはさておきWP Hide Postを使えばサイト内からリンクは消え、URLが分かればアクセス可能、サイト内検索も対象外になります。
文言を表示したいのかテンプレートを変えたいのか質問と途中のレスとで内容が変わっているので、どうしたいのかいまいち分かりませんが、このプラグインを使えば非表示になった投稿は_wplp_post_front
等のメタキーが割り当てられるので、それで条件分岐すれば簡単です。
ただ、無料版はカスタム投稿に対応してませんが、3ドル払ってプロ版にすればカスタム投稿でも使えます。
禁煙して数年になりますが、タバコ1箱買うよりも安いですね。
WP Hide Post
https://ja.wordpress.org/plugins/wp-hide-post/
Rocket Martue様
ご回答ありがとうございます。
仰せの通りにすると確かにそういう動きになります。
ありがとうございます。
こちらもヒントに全体の調整を行ってみます。
助かりました。
manbo様
色々とお世話かけて申し訳ございません。
このようなプラグインも存在するのですね。
いただいた内容を基に精査して頑張ってみます。
ありがとうございます。
皆さんのおかげでどうにかなりそうなところまで来ました。
色々ご意見をいただいて都度検証することで物凄く勉強になりました。
大変ありがとうございました。
どうせなら、どうやってどうにかなりそうなのか書いてはいかがですか?
今後、同様の問題を抱えた人の役に立ちます。
manbo様
ご指摘ありがとうございます。
仰る通りですね。
まだ実動させてませんが、ループの個所に除外コードを書くことをヒントにしたいと思います。
サイト内検索やカウントさせたくない個所ではそのやり方で。
アーカイブは元々のタクソノミーを持たせて分岐するやり方で行こうと思います。
全然スマートじゃないですが、上手くいけばいいかな、と思っています。
404でサイト内から除外して、直リンクだけ生かそうという考え方が、
自分の力量ではまずかったかなと思っています。
ありがとうございました。