WordPress関数のis_categoryとin_categoryの違いについて説明します。
カテゴリーアーカイブかどうか判断するis_category
is_category関数は、現在表示中のページがカテゴリーのアーカイブページかどうか判断するときに使います。
<?php if(is_category()) : ?> カテゴリーアーカイブです。 <?php endif; ?>
is_category(‘news’) のようにカテゴリー名やIDを指定すると、特定カテゴリーのアーカイブを表示中かどうか調べることができます。
<?php if(is_category('news')) : ?> ニュースカテゴリーのアーカイブです。 <?php endif; ?>
特定カテゴリーに属する記事か判断するin_category
in_category関数は個別の記事に対して使う関数で、指定したカテゴリーに所属しているかどうか判断できます。たとえば、in_category(‘event’) と記述すると、その記事がイベントカテゴリーに所属する記事かどうかをチェックできます。
<?php if(in_category('event')) : ?> イベントカテゴリーの記事です。 <?php endif; ?>
基本的には投稿ループ内で現在の投稿をチェックするとき使うのが定番ですが、「in_category(‘event’, 73)」などのように2番目のパラメータに投稿IDを指定することで、ループ外でも任意の投稿についてチェックすることができます。