If you want to only show products from the last category inside your WooCommerce related products section, then place the code below into your functions.php.
add_filter( 'woocommerce_get_related_product_cat_terms', 'last_child_cats_only', 10, 2 ); function last_child_cats_only( $term_ids, $product ) { if(!$product) { return $term_ids; } $cats_array = array(); $terms = wp_get_post_terms($product, 'product_cat'); foreach ( $terms as $key => $term ){ $check_for_children = get_categories(array('parent' => $term->term_id, 'taxonomy' => 'product_cat')); if(empty($check_for_children)){ $cats_array[] = $term->term_id; } } if(!empty($cats_array)) { $term_ids = $cats_array; } return $term_ids; }