is_taxonomy_hierarchical()


WordPressのis_taxonomy_hierarchical()関数は、指定したカスタムタクソノミーが階層構造を持っているかどうかを判定します。

構文

is_taxonomy_hierarchical( string $taxonomy );
  • $taxonomy (string) — チェックするタクソノミーの名前を指定します。

戻り値:

  • true — 階層構造を持つ場合。
  • false — 階層構造を持たない場合。

例1: カテゴリーが階層構造かを確認

カテゴリーが階層構造かどうかをチェックします。

<?php if ( is_taxonomy_hierarchical( 'category' ) ) { echo 'カテゴリーは階層構造です。'; } ?>

例2: タクソノミー「genre」の階層チェック

カスタムタクソノミー「genre」が階層構造かを判定します。

<?php if ( is_taxonomy_hierarchical( 'genre' ) ) { echo '「genre」は階層構造です。'; } ?>

例3: タクソノミーの種類に応じた表示内容変更

階層構造に応じて異なるメッセージを表示します。

<?php
$taxonomy = 'custom_taxonomy';
if ( is_taxonomy_hierarchical( $taxonomy ) ) {
    echo 'このタクソノミーは階層構造です。';
} else {
    echo 'このタクソノミーは非階層構造です。';
}
?>

例4: 階層構造タクソノミーの条件付き処理

階層構造のタクソノミーにのみ特定の処理を実行します。

<?php
if ( is_taxonomy_hierarchical( 'product_category' ) ) {
    // 階層構造のタクソノミーの処理
    echo '階層構造に特化した処理を実行します。';
}
?>

例5: 投稿タイプごとのタクソノミーのチェック

特定の投稿タイプに関連するタクソノミーが階層構造かどうかを確認します。

<?php
$post_type = 'product';
$taxonomy = get_object_taxonomies( $post_type )[0];
if ( is_taxonomy_hierarchical( $taxonomy ) ) {
    echo '投稿タイプ「' . $post_type . '」のタクソノミーは階層構造です。';
}
?>

注意事項

  • is_taxonomy_hierarchical()を使用する際には、存在しないタクソノミーを指定するとfalseが返されます。

関連機能: