我正在尝试修改一个插件(Eggplant Variations Add-to-Cart),其中包含所需的结果,而不是格式化和显示属性slug,我希望它实际显示属性的真实值。
例如,我有一个属性'Option',其值为'Red&绿色|蓝&黄色'。这些用于变化。目前这个插件将显示“红绿”或“蓝黄”。这是由于这一行:
printf( '<span class="attr attr-%s">%s</span>', $key, ucwords($val) );
这里发生的一切都是正在转换slug,以便用空格替换破折号和下划线,并且每个单词都是首字母大写。
通过以下方式检索变体和属性:
$variations = $product->get_available_variations();
$attributes = $product->get_attributes();
这些变量之间没有参考点,以便使用$ variations属性slug检索$属性值。
如何返回真正的属性值(即'Red&amp; Green','Blue&amp; Yellow')?
答案 0 :(得分:0)
请尝试以下代码:
$p=get_post_meta($product_id,'_product_attributes',true);
$attr_value=$p['attribute_slug']['value'];
答案 1 :(得分: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 );