Вопрос решился. Надо через другой код выводить:
$args = array(
'taxonomy' => 'product_cat', // указываем таксономию товаров
'hide_empty' => false, // показываем пустые категории
);
$terms = get_terms( $args ); // получаем список категорий
if ( $terms && ! is_wp_error( $terms ) ) : // если категории найдены
foreach ( $terms as $term ) { // перебираем категории
$term_link = get_term_link( $term ); // получаем URL категории
$term_thumb_url = get_woocommerce_term_meta( $term->term_id, 'thumbnail_id', true ); // получаем ID изображения миниатюры
echo '<h2><a href="' . esc_url( $term_link ) . '">' . esc_html( $term->name ) . '</a></h2>'; // выводим заголовок и URL категории
if ( $term_thumb_url ) {
echo wp_get_attachment_image( $term_thumb_url, 'thumbnail' ); // выводим миниатюру, если она есть
}
}
else :
echo '<p>Категорий не найдено.</p>';
endif;