如何获取属性名称而不是变体中的 slug?
How to get attribute name instead of slug in variation?
我需要从 woocommerce 产品变体中获取属性。
$terms = get_post_meta($value['variation_id'], 'attribute_pa_color', true);
此代码为我提供了一个属性 slug 而不是名称。如何获取属性名称?
在此先感谢您!
您可以试试下面的代码。
$terms = get_the_terms( $value['variation_id'] , 'attribute_pa_color');
foreach ( $terms as $term ) {
echo $term->name;
}
如果有帮助,请告诉我。另外,您可以阅读 this link 中给出的解释以获取更多信息和替代解决方案。
您得到的是分类法的 slug...
在 WooCommerce 中,没有 attribute_
的 attribute_pa_color
是分类法。
所以你可以尝试这样的事情..通过 slug 获取术语。并得到它的名字。
$taxonomy = 'pa_color';
$meta = get_post_meta($value['variation_id'], 'attribute_'.$taxonomy, true);
$term = get_term_by('slug', $meta, $taxonomy);
echo $term->name;
您可以通过以下代码轻松找到属性
foreach ($product->attributes as $taxonomy => $attribute) {
foreach ($attribute->get_terms() as $term) {
var_dump($term); // term object data
}
}
我需要从 woocommerce 产品变体中获取属性。
$terms = get_post_meta($value['variation_id'], 'attribute_pa_color', true);
此代码为我提供了一个属性 slug 而不是名称。如何获取属性名称?
在此先感谢您!
您可以试试下面的代码。
$terms = get_the_terms( $value['variation_id'] , 'attribute_pa_color');
foreach ( $terms as $term ) {
echo $term->name;
}
如果有帮助,请告诉我。另外,您可以阅读 this link 中给出的解释以获取更多信息和替代解决方案。
您得到的是分类法的 slug...
在 WooCommerce 中,没有 attribute_
的 attribute_pa_color
是分类法。
所以你可以尝试这样的事情..通过 slug 获取术语。并得到它的名字。
$taxonomy = 'pa_color';
$meta = get_post_meta($value['variation_id'], 'attribute_'.$taxonomy, true);
$term = get_term_by('slug', $meta, $taxonomy);
echo $term->name;
您可以通过以下代码轻松找到属性
foreach ($product->attributes as $taxonomy => $attribute) {
foreach ($attribute->get_terms() as $term) {
var_dump($term); // term object data
}
}