【has_tag】ワードプレスで特定のタグを含むページのみに表示させる条件分岐

WordPressで特定の投稿にのみ表示させたい場合、様々な条件分岐がありますが、投稿が細かくタグ付けされている場合、has_tagがとても便利です。

has_tagでできること

has_tagは投稿にタグをつけていれば、様々内容で条件分岐をすることができます。基本的な使い方としては、例えば「PC」というタグが付いているページのみにパソコンのコンテンツを表示させたりすることが可能です。これが基本的なhas_tagとなりますが、条件を付けくわえることでより詳細な分岐をすることも可能です。

例えば、「PC」というタグにはパソコンのコンテンツを表示させ、「Tablet」というタグにはタブレットのコンテンツを表示させ、なおかつ、それ以外のタグが付いている場合は、何も表示させない等、使い道は多岐にわたります。

では、具体的なコードをいくつか記述しておきます。とても単純なコードなので、PHPの知識がなくてもコピーペーストで簡単に実装できると思います。

[A]というタグが付いている投稿のみに[コンテンツ-Z]を表示させたい場合

<?php if ( has_tag( 'A' ) ): ?>
/* 「コンテンツ-Z」の内容を記述 */
<?php endif; ?>

[A]と[B]のタグが付いている投稿のみ[コンテンツ-Z]を表示させたい場合

<?php if ( has_tag( array( 'A', 'B' ) ) ): ?>
/* 「コンテンツ-Z」の内容を記述 */
<?php endif; ?>

[A]というタグが付いている投稿に[コンテンツ-Z]、[B]というタグが付いている投稿に[コンテンツ-X]を表示させたい場合

<?php if ( has_tag( 'A' ) ): ?>
/* [コンテンツ-Z]の内容を記述 */
<?php elseif ( has_tag( 'B' ) ): ?>
/* [コンテンツ-X]の内容を記述 */
<?php endif; ?>

[A]というタグが付いている投稿に[コンテンツ-Z]、[B]というタグが付いている投稿に[コンテンツ-X]、それ以外の投稿には、[コンテンツ-Y]を表示させたい場合

<?php if ( has_tag( 'A' ) ): ?>
/* [コンテンツ-Z]の内容を記述 */
<?php elseif ( has_tag( 'B' ) ): ?>
/* [コンテンツ-X]の内容を記述 */
<?php else: ?>
/* [コンテンツ-Y]の内容を記述 */
<?php endif; ?>

各種タグの指定は、【タグの名前(例:PC)】【タグのID:(例:123)】【タグのスラッグ(例:computer)】などでおこなえます。