exclude parents from the_terms

use get_the_terms instead and exclude any terms where parent value is 0, which means it is a top-level term. $terms = get_the_terms( $post->ID, ‘portfolio-type’ ); if ( !empty( $terms ) ) { $output = array(); foreach ( $terms as $term ){ if( 0 != $term->parent ) $output[] = ‘<a href=”‘ . get_term_link( $term ) .'”>’ … Read more

How to get all the terms of a post

Well to print each term you could loop through each object and echo the name and description foreach ($terms as $theterm) { echo $theterm->name . ” ” . $theterm->description; } Is this what you are looking for? [EDIT] Updated the answer