我被指示this post – 完全解决了我的问题。这是我在那篇文章中使用的解决方案。
// 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;