我有一个由 WooCommerce 提供支持的电子商务网站。我正在使用产品变体来允许我的客户为其产品选择特定配置。
我使用以下代码列出特定产品属性的术语名称:
$available_pa_colors = wc_get_product_terms( $product->get_id(), 'pa_colors' );
而且效果很好。
但是将默认排序顺序从“自定义排序”更改为“术语 ID”时,我什么也得不到(没有术语名称显示)。
我做了一些研究,似乎 wc_get_product_terms 不适用于排序。
我怎样才能使这个术语按术语 ID 排序?
我们将不胜感激。
最佳答案
函数wc_get_product_terms()
使用 _wc_get_cached_product_terms()
优先存储缓存数据,而不是使用其中包含的 WordPress wp_get_post_terms()
。
这就是为什么你不能对任何东西进行排序的原因。
所以你应该直接使用 wp_get_post_terms()
允许排序如下:
$available_pa_colors = wp_get_post_terms( $product->get_id(), 'pa_colors', array(
'orderby' => 'term_id', 'order' => 'ASC', 'fields' => 'names'
) );
经过测试并有效。
关于php - 使用 WooCommerce wc_get_product_terms 函数对产品属性术语进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55562382/