在Woocommerce中,我有这些属性及其条款:
color: blue(description=1), red(description=2)
size: xl(description=10), m(description=20)
所有条款都有上述说明字段。
对于可变产品,我有以下变化:
blue-m
red-xl
为了自动生成变体SKU(基于这些描述),我需要获得每个变体中使用的属性术语的描述(我们对每个变量产品使用不同的属性)。
例如,对于red
颜色和xl
尺寸的变体,我希望获得类似210
的内容(来自red
和xl
的说明)
我尝试使用$variation['attributes']
并删除其中的额外字符以与get_terms
一起使用以获取变体中使用的属性的描述,但我无法成功。
任何想法?
答案 0 :(得分:1)
一旦您以这种方式获得产品变体ID $variation_id
,就可以轻松完成此操作:
// Initializing
$variation_sku = '';
// Get the product variation object (instance)
$variation = wc_get_product( $variation_id );
// Loop through variation attributes "taxonomy" / "terms" pairs
foreach( $variation->get_variation_attributes() as $attribute => $value ){
$taxonomy = str_replace( 'attribute_', '', $attribute );
$term = get_term_by( 'slug', $value, $taxonomy );
// $term_name = $term->name;
$variation_sku .= $term->description; // <= HERE the Description
}
// Displaying the sku
echo '<p>'.__("SKU: ").$variation_sku.'</p>';