phpwordpresstaxonomycustom-taxonomy

Wordpress, get current level of taxonomy in an archive page


I'm creating a WordPress site to display a catalogue of items using a custom post type and a custom hierarchical taxonomy. I'd like to keep it simple and deal with the items in a single archive page, but I need help how to determine the level of taxonomy currently displayed. Basically, I need the following functionality:

if ($current_term_level = 0) {
    // show first drop-down
} else if ($current_term_level = 1) {
    // show second drop-down
} else {
    // show third drop-down
}

Can someone please explain how to get $current_term_level to output appropriate values?


Solution

  • Try with get_ancestors() WP function :

    function get_tax_level($id, $tax){
        $ancestors = get_ancestors($id, $tax);
        return count($ancestors)+1;
    }
    
    $current_term_level = get_tax_level(get_queried_object()->term_id, get_queried_object()->taxonomy);
    
    if ($current_term_level == 0) {
        // show first drop-down
    } else if ($current_term_level == 1) {
        // show second drop-down
    } else {
        // show third drop-down
    }