使用 get_the_terms() 不会 return 特定父类别的子项应用于 WooCommerce 产品

Using get_the_terms() doesn't return child terms of a specific parent category applied to a WooCommerce product

经过无数次尝试和大约 50 篇文章后,我得出的结论是这是不可能的,除非那里有一个巫师愿意从他们的咒语书中撕下一页给我。

在产品页面上,我希望获取当前产品 ID 并将其传递给 get_the_terms() 函数,同时提供分类法 'product_cat',最后指定父类别。

在我们传递的父类别中,只选择了一个子类别。所以这应该只有 return 一个学期。

我想做这样的事情:

$terms = get_the_terms( the_ID(), 'product_cat', array( 'parent' => 84 ) );
foreach ($terms as $term) {
    $termID = $term->term_id;
    $name   = $term->name;
    $slug   = $term->slug;

    echo $name;
}

但是这个 return 有很多结果,我尝试了很多其他类似的查询,但这很容易是最漂亮的,如果有人能阐明一些问题,那就太好了!

只是get_the_terms() doesn't allow additional arguments, instead use wp_get_post_terms() and also you should use get_the_ID() instead of the_ID()喜欢

$terms = wp_get_post_terms( get_the_id(), 'product_cat', array( 'parent' => 84 ) );

现在应该可以更好地工作了。