WordPressで特定のカテゴリーだけ除外する方法4つを紹介するよ

WordPressで特定のカテゴリーだけ除外する方法4つを紹介するよ

WordPressで特定のカテゴリーだけ除外する方法4つを紹介するよ

WordPressで特定のカテゴリーだけ除外する方法4つを紹介するよ
最終更新日:2019.04.24

こんにちわ!ナコです。
WordPressで条件分岐をしていて、特定のカテゴリーだけ表示、特定のカテゴリーとそれ以外で表示は調べるとすぐ出てくるのですが、
特定のカテゴリーだけ除外する方法はなかなか見つけにくいかったのでメモです。

呼び出す前に宣言しちゃう

have_postsという記事を取得するタグの前にquery_postsで指定しちゃう方法です。

カテゴリーIDで除外

カテゴリーIDが3と5を除いたそれ以外の記事が表示されます。

コピー

<?php query_posts('cat=-3,-5'); ?>
<?php if(have_posts()) : ?>
テスト環境と本番環境でカテゴリーIDが違う場合とっても面倒なので、オススメしないです。
サイトが1つしかない場合は有り

カテゴリースラッグで指定して除外

オススメ!

管理画面のカテゴリーページでそれぞれのカテゴリーにスラッグを追加します。
そのスラッグで振り分ける方法です。

カテゴリースラッグ「special」を除いたそれ以外の記事が表示されます。

コピー

<?php if(!in_category('special')) : ?>
// カテゴリースラッグ「special」以外のカテゴリーに属した記事のときの処理を書く
<?php enfif; ?>
なこ
この方法ならサーバーが変わってもいけるよ!オススメ

ID、スラッグごちゃまぜの条件でカテゴリーを指定して除外

複数条件をまとめたい場合はこのタグです。

コピー

<?php if(!in_category(array(9, 'special'))) : ?>
// カテゴリーIDが9、スラッグが「special」のいずれかのカテゴリーに属した記事のときの処理を書く
<?php enfif; ?>