How can i get only bottom level terms of a taxonomy or category in views?

How can i get only parent terms of a taxonomy ?

This is a very popular question asked in many WordPress forums and Toolset Support and as a result, i am going to write a code snippet.

Lets assume, that the depth of taxonomy hierarchy is 3 and is explained by the following example of countries, provinces and states.

  • Australia ( Parent)
    • Queensland (Child)
      • Brisbane ( Child of a child)

CODE SNIPPED TO FETCH TOP LEVEL OR PARENT TAXONOMY TERM

Copy and paste the below snipped in your current active theme functions.php file. Then replace $location variable to your current taxonomy name and then use the shortcode [ds-parent] inside the loop view of any post type template.

add_shortcode('ds-parent', 'ds_top_level_terms');
function ds_top_level_terms() {
    $locations = 'test';
    $terms = get_the_terms(get_the_ID(), $locations);
    foreach ($terms as $term) {
        $parent = $term->parent;
        if ( $parent == '0' ) {
            $term_link = get_term_link($term, $locations);
            return $term->name;
        }
    }
}

CODE SNIPPED TO FETCH MID LEVEL TAXONOMY TERMS

  • Australia ( Parent)
    • Queensland (Child)
      • Brisbane ( Child of a child)

Here again, replace $location variable to your current taxonomy name and then use the shortcode [ds-middle-terms] inside the loop view of any post type template.

function ds_sort_terms(Array &$cats, Array &$into, $parentId = 0)
{
    foreach ($cats as $i => $cat) {
        if ($cat->parent == $parentId) {
            $into[$cat->term_id] = $cat;
            unset($cats[$i]);
        }
    }
    foreach ($into as $topCat) {
        $topCat->children = array();
        ds_sort_terms($cats, $topCat->children, $topCat->term_id);
    }
}
add_shortcode('ds-middle-terms', 'ds-middle-terms');
function ds-middle-terms( $atts ) {
    extract( shortcode_atts( array(
        'taxonomy' => 'abc'
    ), $atts ) );
  
 
$categories=get_the_terms(get_the_ID(), $taxonomy);

$categoryHierarchy = array();
ds_sort_terms($categories, $categoryHierarchy);
	$amiarray = array_values($categoryHierarchy);
	foreach($amiarray[0]->children as $final){
		return $final->name;
	}    
}

CODE SNIPPED TO GET BOTTOM LEVEL TERMS OF A HIERARCHY

  • Australia ( Parent)
    • Queensland (Child)
      • Brisbane ( Child of a child)

In the same way, replace $location variable to your current taxonomy name and then use the shortcode [ds-bottom-level] inside the loop view of any post type template.

add_shortcode('ds-bottom-level', 'ds_bottom_terms');
function ds_bottom_terms() {
   extract( shortcode_atts( array(
        'taxonomy' => 'abc'
    ), $atts ) );
  
 
$categories=get_the_terms(get_the_ID(), $taxonomy);

$categoryHierarchy = array();
sort_terms_hierarchicaly($categories, $categoryHierarchy);
	$amiarray = array_values($categoryHierarchy);
	
	foreach($amiarray[0]->children as $final){
		foreach($final->children as $finall){
			return $finall->name;
		}
		}
}

Now you can use above shortcodes in a post view loop of Toolset and can only show desired term levels.

If you need further assistance, write me down in the comments section or alternatively, you can contact me through my contact page of the website.

Cheers

Toolset launched Custom Types Training Course – Get 20% off on Toolset

Toolset has recently launched a “Custom Types Training” course for their users to know important techniques which could help them save time and produce better results. 

This course is mainly focused to let the users know about the power of “Custom Types”.

After going through this course, a basic user can progress to intermediate and then to advanced level.

What’s in the Course ?

This course consists of 5 chapters.

Check below in depth, what is covered in each of them:

What are Custom Types and how they work?
Creating Custom Post Types
  •  When and why you should use custom types
  •  How to create custom post types
  •  How to create custom fields
  •  How to create custom taxonomies
Displaying Content Types
  • How content is displayed in WordPress
  • Designing templates for single posts
  • Designing archives
  • Creating Custom Lists of Content
Connecting Different Types of Content
  • Easily building advanced sites by connecting different types of content
  • Different kinds of post relationships
  • How to connect different post types
  • Displaying Related Content
Creating Custom Searches
  • When and why you should use custom searches
  • How custom search works
  • How to create a custom search

COST

It is free for Toolset Clients. If you’re not (yet) using Toolset, then you can buy their course separately (it costs $29 USD).

BLESSING IN DISGUISE FOR WORDPRESS DEVELOPERS / FREELANCERS

This course is helpful for WordPress Developers / Freelancers who wants to enhance their development skills as by going through this course, they will be able to build many complex web applications using Toolset in short span of time.

Let me know your thoughts about Toolset and if you need assistance in using it, you can write your comments below.