【WordPress】is_tax()の使い方まとめ|カスタムタクソノミーを条件分岐で判定する方法

Contents
はじめに
WordPressでは、投稿をカテゴリーやタグで分類するだけでなく、独自の分類方法(カスタムタクソノミー)を追加することができます。こうしたカスタムタクソノミーのアーカイブページを判定する際に便利なのが、is_tax()
関数です。
この記事では、is_tax()
の基本的な使い方から実践的な活用方法まで、具体例とともにわかりやすく解説します。
is_tax()とは?
is_tax()
は、現在表示されているページがカスタムタクソノミーのアーカイブページであるかどうかを判定するための条件分岐タグです。以下のような構文で使用します:
is_tax( $taxonomy = '', $term = '' )
$taxonomy
:タクソノミー名(例:’genre’)$term
:ターム名またはID(例:’action’)
引数を省略すると、任意のカスタムタクソノミーのアーカイブページであれば true を返します。
is_tax()の基本的な使い方
以下の図は、is_tax()の基本構文と具体的な使い方を示したものです。

それぞれのパターンに対応したコード例を以下に紹介します。
引数なしで使う
if ( is_tax() ) {
echo 'これはカスタムタクソノミーのアーカイブページです。';
}
タクソノミー名を指定する
if ( is_tax( 'genre' ) ) {
echo 'これはジャンル(genre)のアーカイブページです。';
}
タクソノミー名とタームを指定する
if ( is_tax( 'genre', 'action' ) ) {
echo 'これはジャンルがアクションのアーカイブページです。';
}
複数のタクソノミーをまとめて判定したい場合は、配列を使うこともできます。
if ( is_tax( array( 'genre', 'writer' ) ) ) {
echo 'ジャンルか著者のアーカイブページです。';
}
is_category() / is_tag() との違い
is_category()
はデフォルトのカテゴリー(category)アーカイブページ専用is_tag()
はデフォルトのタグ(post_tag)アーカイブページ専用is_tax()
はそれ以外のカスタムタクソノミーに対応
つまり、is_tax()
はカスタム分類に対応した汎用的な関数であり、カスタム投稿タイプと組み合わせて使う際に非常に有用です。
よくある用途・活用例
タクソノミーごとにテンプレートの見た目を変える
if ( is_tax( 'genre', 'comedy' ) ) {
get_template_part( 'template-parts/genre-comedy' );
}
特定のタクソノミーでバナーを表示
if ( is_tax( 'campaign' ) ) {
echo '<div class="banner">キャンペーン中!</div>';
}
注意点・よくあるミス
- 通常の投稿や固定ページでは
is_tax()
は false を返します。 $taxonomy
や$term
の指定ミス(スペルミスや存在しない値)に注意- テンプレート階層との関係も重要です:
taxonomy-{taxonomy}.php
taxonomy.php
is_tax()
を使って出し分ける際、テンプレートファイルとの整合性を意識しましょう。
公式ドキュメントへのリンク
詳細は以下の公式リファレンスを参照してください: https://developer.wordpress.org/reference/functions/is_tax/
まとめ
is_tax()
はカスタムタクソノミーのアーカイブページを判定するために欠かせない条件分岐タグです。カスタム投稿タイプと組み合わせて利用すれば、より柔軟で洗練されたテーマカスタマイズが可能になります。
タクソノミーの種類やタームごとの見た目変更、特定条件での表示制御など、活用の幅は広いため、ぜひ積極的に使いこなしていきましょう。