仅获取 WooCommerce 产品的一个产品类别术语

问题描述

我对 WooCommerce 的类别有一个谜团。 对于不同的产品,我有多个类别。 例如产品Nike Air Red 我将这个产品与两个类别品牌->耐克鞋子->红色联系起来 Brands 和 Shoes 是主要类别,Nike 和 Red 是子类别。

在产品页面我有以下代码

$terms = wp_get_post_terms( $post->ID,'product_cat' );
foreach ($terms as $term) {
    echo $term->name;
}

输出是耐克红

有没有办法获得一个类别? 耐克还是红色?

我也试过

get_ancestors(get_queried_object_id(),'product_cat')

但是这个数组是空的

解决方法

尝试使用 reset() 得到第一个词如下:

$term_names = wp_get_post_terms( $post->ID,'product_cat' array('fields' => 'names') );
echo reset($term_names);

这将显示第一个术语名称。

使用 end() 将显示最后一个:

$term_names = wp_get_post_terms( $post->ID,'product_cat' array('fields' => 'names') );
echo end($term_names);