2014-12-19 137 views
2

我想修改一个插件(茄子变体添加到购物车)与所需的结果是,而不是被格式化和显示的属性slu I,我希望它实际显示真正的值属性。WooCommerce变化属性标签

例如,我有一个属性'Option',其值为'Red & Green |蓝色&黄色'。这些用于变化。目前这个插件将显示'红色绿色'或'蓝色黄色'。这是由于这一行:

printf('<span class="attr attr-%s">%s</span>', $key, ucwords($val)); 

所有这一切都发生在这里的是塞正在转换,这样的划线和下划线用空格代替,每个单词都大写首字母。

的变化和属性经由检索到:

$variations = $product->get_available_variations(); 
$attributes = $product->get_attributes(); 

有为了检索使用$变化属性的蛞蝓$属性值这些变量之间没有参考点。

如何返回真实属性值(即'红色&绿色','蓝色&黄色')?

回答

0

尝试下面的代码:

$p=get_post_meta($product_id,'_product_attributes',true); 

    $attr_value=$p['attribute_slug']['value']; 
0

路过去的日期,但这是你的解决方案:

$taxonomy = str_replace("attribute_",'', $key); 
$meta = get_post_meta($value['variation_id'], 'attribute_'.$taxonomy, true); 
$term = get_term_by('slug', $meta, $taxonomy); 

printf('<span class="attr attr-%s">%s</span>', $key, $term->name);