in_category と is_category の違い:WordPress
投稿日:2015年9月23日/更新日:2015年9月23日
1文字違いの in_category と is_category を今回はヘッダー、サイドバー、フッターなど共通のテンプレートに使用してカテゴリーページや記事ページの表示の違いを比較してみます。但し共通テンプレートの場合、記述によりカテゴリーページや記事ページ以外にも影響がありますが今回はこの表示に絞って比較します。
目次
in_category
in_category(‘wordpress’) を記載※ in_categoryはパラメータ必須
※ パラメータには管理画面「投稿」→「カテゴリー」の「スラッグ」を設定
<?php if ( in_category('wordpress') ): ?>
A
<?php else: ?>
B
<?php endif; ?>
wordpressのカテゴリーページとwordpressに属している記事ページでAを表示
他のカテゴリーや他の記事ページでBを表示
is_category
is_category() の場合(パラメータなし)<?php if ( is_category() ): ?>
A
<?php else: ?>
B
<?php endif; ?>
カテゴリーページでAを表示
記事ページでBを表示
<?php if ( is_category('wordpress') ): ?>
A
<?php else: ?>
B
<?php endif; ?>
wordpressのカテゴリーページでAを表示
他のカテゴリーと全ての記事ページでBを表示
上記のように is_category でパラメータの設定ではカテゴリーページには反映されましたが記事ページには反映されませんでした。どの箇所に使用するかにより使い分けて設定を行います。
応用例
<?php if ( in_category( array( 'wordpress', 'css' ) ) ): ?>
A
<?php elseif ( in_category( array( 'web', 'browser' ) ) ): ?>
B
<?php else: ?>
C
<?php endif; ?>
記事ページにパラメータが反映されるのが in_category でしたので複数設定する場合は上記の記述となります。
wordpress,cssのカテゴリーページとwordpress,cssに属している記事ページでAを表示
web,browserのカテゴリーページとweb,browserに属している記事ページでBを表示
他のカテゴリーや他の記事ページでCを表示となります。
1記事に対して複数のカテゴリーを設定している場合は条件分岐のコードのより上部に記載されている内容が優先されます。
条件分岐については以下もご覧ください。
WordPress 条件分岐:テンプレートのカスタマイズ











Web (14)
WordPress (30)
Mac (5)
Windows (15)
Browser (6)
CSS (4)
PC (2)
Android (2)
Twitter (1)
Web Material (7)




Leave a Reply