0
商品属性の属性値名を各<span>
アイテムのクラス名として設定しようとしています。Woocommerceクラスとして属性値の名前を追加
商品属性としては、たとえばmaterial
と設定できます。そして、stone
のように値を付けるpaper
など
どのように私はクラス名としてstone
とpaper
を設定することができますか?通常、値は - >Material: stone, paper
のように表示されます。クラス名を設定して石と紙を小さな画像に変更できるようにしたい。
のでwoocommerce/single-product/add-to-cart/simple.php
に私はこれを追加しました:
<?php
if ($attribute['is_taxonomy']) {
$values = wc_get_product_terms($product->id, $attribute['name'], array('fields' => 'names'));
///////////////this is added//////////////////////////
if($attribute['name'] == 'pa_material'){ // I only want to set a classname if attribute name == material
foreach($values as $value){
$value_classname = $value; // how can I get the value name??
}
echo apply_filters('woocommerce_attribute', wpautop(wptexturize('<span class="lbl ' . $value_classname . '">'. implode('</span><span class="lbl ' . $value . '">', $values).'</span>')), $attribute, $values);
////////////////////////////////////////////
} else{
echo apply_filters('woocommerce_attribute', wpautop(wptexturize(implode(', ', $values))), $attribute, $values);
}
} else {
// Convert pipes to commas and display values
$values = array_map('trim', explode(WC_DELIMITER, $attribute['value']));
echo apply_filters('woocommerce_attribute', wpautop(wptexturize(implode(', ', $values))), $attribute, $values);
}
?>
今のクラス名は明らかに空白を返します。