<?php global $product; //Если не объявлен ранее. Не уверен в необходимости.
global $post;
$categories = get_the_terms( $post->ID, 'product_cat' );
foreach ($categories as $category) {
echo $category->term_id; //Может быть в нескольких категориях
}?>
$product_cats = wp_get_post_terms(get_the_ID(), 'product_cat');
if ($product_cats) {
$deepestTerm = false;
$maxDepth = -1;
foreach ($product_cats as $cat) {
$termDepth = count(get_ancestors($cat->term_id, 'product_cat'));
if ($termDepth > $maxDepth) {
$deepestTerm = $cat;
$maxDepth = $termDepth;
}
}
echo $deepestTerm->term_id;
}