【WordPress】投稿についたカテゴリーを判断して表示を切り分けする方法

【WordPress】投稿についたカテゴリーを判断して表示を切り分けする方法

2019.4.10

特定のカテゴリーがついた記事だけ記事下にバナー画像や広告などを表示したい時などに使えるカスタマイズについて紹介します!

お申込みフォームやおすすめ記事のリンク、おすすめ商品の紹介などに活用してみて下さい。

投稿についているカテゴリーを判断する方法

投稿についているカテゴリーを判断する場合has_category関数を使います。

has_categoryの第一引数に判断するカテゴリーを渡します。

引数は「カテゴリーの名前、ID またはスラッグ」となっていますが、スラッグを使うのが無難かと思います。管理画面からも確認できますしね。

実際に条件判断する例はこちら▼

<?php if ( has_category( 'zi-o' ) ) : ?>
  <div>zi-oです</div>
<?php endif; ?>

複数のカテゴリーを判断する

複数カテゴリーをまとめて判断する場合は引数にカテゴリーIDやスラッグを配列で渡します。

<?php if ( has_category( array( 'zi-o', 'geiz', 'woz' ) ) ) : ?>
  <div>zi-oです</div>
<?php endif; ?>

注意点

複数カテゴリーを指定する場合、どれか一つカテゴリー付いていたらTrue

配列で判断したいカテゴリーを指定する場合、引数に渡したカテゴリーのどれか1つでも投稿についていたら条件を満たします。

上記の例では『「zi-o」か「geiz」か「woz」がついている投稿』という意味になります。

『「zi-o」と「geiz」と「woz」が全部ついている投稿』ではないので気をつけて下さい!

親子関係は自動で判断されない

例えば、親が「heisei-rider」、子が「zi-o」という親子関係のカテゴリーがあったとします。

投稿に「zi-o」カテゴリーが付いている場合 if ( has_category( 'heisei-rider' ) ) では条件を満たしません。

親子両方共条件を満たすようにしたい場合 if ( has_category( array( 'heisei-rider', 'zi-o' ) ) )のように書く必要があります。

当ブログでの例

当ブログではWordPress関連の記事の下に2019年4月に発売した著書の特設ページへのリンクを表示するために使いました。

記事下にCTAを設置した例

応用すれば「特定のカテゴリー以外の場合…」という条件分岐もできるので、うまく活用してみて下さい!

ではまた。