The is_taxonomy_hierarchical() WordPress PHP function determines whether a taxonomy object is hierarchical.
Usage
is_taxonomy_hierarchical( $taxonomy );
Example:
$taxonomy = 'category'; $is_hierarchical = is_taxonomy_hierarchical( $taxonomy ); echo $is_hierarchical; // Output: true
Parameters
$taxonomy
(string) (Required) – Name of the taxonomy object.
More information
See WordPress Developer Resources: is_taxonomy_hierarchical()
Examples
Check if a Custom Taxonomy is Hierarchical
$taxonomy = 'custom_taxonomy'; $is_hierarchical = is_taxonomy_hierarchical( $taxonomy ); if ( $is_hierarchical ) { echo 'This taxonomy is hierarchical.'; } else { echo 'This taxonomy is not hierarchical.'; }
Display Hierarchical Taxonomies
$taxonomies = get_taxonomies(); foreach ( $taxonomies as $taxonomy ) { if ( is_taxonomy_hierarchical( $taxonomy ) ) { echo $taxonomy . ' is hierarchical.<br>'; } }
Add Custom Styling for Hierarchical Taxonomies
$taxonomy = 'custom_taxonomy'; $style = ''; if ( is_taxonomy_hierarchical( $taxonomy ) ) { $style = 'hierarchical-style'; } echo '<div class="' . $style . '">Taxonomy Content</div>';
Show Parent Terms Only for Hierarchical Taxonomies
$taxonomy = 'custom_taxonomy'; if ( is_taxonomy_hierarchical( $taxonomy ) ) { $terms = get_terms( array( 'taxonomy' => $taxonomy, 'parent' => 0, ) ); foreach ( $terms as $term ) { echo $term->name . '<br>'; } }
Check if Post Type Supports Hierarchical Taxonomies
$post_type = 'post'; $taxonomies = get_object_taxonomies( $post_type ); $hierarchical_taxonomies = array(); foreach ( $taxonomies as $taxonomy ) { if ( is_taxonomy_hierarchical( $taxonomy ) ) { $hierarchical_taxonomies[] = $taxonomy; } } if ( !empty( $hierarchical_taxonomies ) ) { echo 'The ' . $post_type . ' post type supports the following hierarchical taxonomies:'; echo implode( ', ', $hierarchical_taxonomies ); } else { echo 'The ' . $post_type . ' post type does not support any hierarchical taxonomies.'; }