is_tax()


WordPress関数is_tax()は、現在のページがタクソノミーのアーカイブページであるかを判定するために使用されます。

シンタックス

is_tax( $taxonomy = '', $term = '' );

説明:

  • $taxonomy (string) — タクソノミースラッグを指定します。
  • $term (string|int|array) — タームのスラッグ、ID、または配列を指定します。

例 1: 現在のページがタクソノミーのアーカイブかどうか確認

以下のコードは、ページがタクソノミーアーカイブである場合にテキストを表示します。

<?php if ( is_tax() ) { echo 'これはタクソノミーアーカイブページです。'; } ?>

例 2: 特定のタクソノミーの確認

$taxonomyを指定して、特定のタクソノミーアーカイブを判定します。

<?php if ( is_tax( 'genre' ) ) { echo 'これは「genre」タクソノミーのアーカイブページです。'; } ?>

例 3: タクソノミーとタームの組み合わせ確認

タクソノミーgenreと特定のタームhorrorの組み合わせを確認します。

<?php if ( is_tax( 'genre', 'horror' ) ) { echo 'このページは「horror」タームです。'; } ?>

例 4: 複数のタームでの判定

配列を使って複数のタームを指定し、その中のいずれかが該当するかを確認します。

<?php
if ( is_tax( 'genre', array( 'horror', 'comedy' ) ) ) {
    echo 'このページは「horror」または「comedy」のタームです。';
}
?>

例 5: カスタムクエリ内での使用

WP_Queryを利用して、カスタムタクソノミーの条件を追加する場合です。

<?php
$args = array(
    'post_type' => 'post',
    'tax_query' => array(
        array(
            'taxonomy' => 'genre',
            'field'    => 'slug',
            'terms'    => 'horror',
        ),
    ),
);

$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        the_title();
    }
}

wp_reset_postdata();
?>

注意事項

  • is_tax()は、タクソノミーページの判定のみを行い、個別の投稿やページには適用されません。
  • 条件分岐タグのため、テーマテンプレート内で使用する際には必ずPHPの条件分岐と組み合わせてください。

関連機能: