I have the following product structure:
— Category
— Deep
— Deeper
Currently the last child category “deeper” will only be used for labeling products. What I want to do is to echo only the last child category “Deeper”.
Any idea how to do that?
Thanks!
EDIT: Solution found on Stackoverflow. LINK.
// get all product cats for the current post
$categories = get_the_terms( get_the_ID(), 'product_cat' );
// wrapper to hide any errors from top level categories or products without category
if ( $categories && ! is_wp_error( $category ) ) :
// loop through each cat
foreach($categories as $category) :
// get the children (if any) of the current cat
$children = get_categories( array ('taxonomy' => 'product_cat', 'parent' => $category->term_id ));
if ( count($children) == 0 ) {
// if no children, then echo the category name.
echo $category->name;
}
endforeach;
endif;