is_tax() の使い方|説明・引数・注意点

説明

is_tax() は、カスタムタクソノミーのアーカイブを表示しているかを判定する関数です。

基本構文

is_tax( string|string[] $taxonomy = '', int|string|int[]|string[] $term = '' ): bool

引数

  • $taxonomy:タクソノミー名
  • $term:ターム(省略可)

戻り値

条件に当てはまれば true、そうでなければ false。

使い方(サンプル)

if ( is_tax( 'genre', 'rock' ) ) {
	// genre タクソノミーの rock 一覧
}

注意点

  • カテゴリーとタグ(標準のタクソノミー)では、is_category() / is_tag() を使うのが一般的です。
  • タクソノミー名を省略すると、すべてのカスタムタクソノミーが対象になります。

実務での使いどころ

  • カスタムタクソノミーのアーカイブで、表示を変えるとき。
  • 特定のターム(スラッグ)のアーカイブだけで、処理を変えるとき。

よくあるミスと対処

  • カテゴリーやタグに使っている。これらには is_category()・is_tag() を使う。
  • 個別ページで、投稿がタームを持つかを判定するつもりで使っている。投稿のタームは has_term() で判定する。

NG例

// お知らせの個別ページで
if ( is_tax( 'news_cat', 'important' ) ) {
	// 当てはまらない(アーカイブの判定)
}

OK例

if ( is_singular( 'news' ) && has_term( 'important', 'news_cat' ) ) {
	// important タームを持つお知らせ
}

使い分け早見表

やりたいこと 使うもの
カスタムタクソノミーのアーカイブか is_tax()
投稿が、そのタームを持つか has_term()
カテゴリー・タグのアーカイブか is_category()、is_tag()

関連項目

is_category()、is_tag()、is_post_type_archive()

公式リファレンス:is_tax() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました