Чтобы получить атрибуты значения, которые нужно использовать get_terms()
, с внутри в качестве аргумента ваш туалет атрибут продукта слизняк, как pa_size
, pa_color
... Так, чтобы отобразить соответствующие значения для каждого атрибута будет нужен второй цикл по каждому элементу.
Так что ваш код может быть что-то вроде этого:
if (!function_exists('shop_attributes_in_loop')) {
function shop_attributes_in_loop(){
global $product;
//Getting product attributes
$product_attributes = $product->get_attributes();
if(!empty($product_attributes)){
//Getting product attributes slugs
$product_attribute_slugs = array_keys($product_attributes);
$count_slug = 0;
echo '<div class="product_attributes">';
foreach ($product_attribute_slugs as $product_attribute_slug){
$count_slug++;
// Removing "pa_" from attribute slug and adding a cap to first letter
$attribute_name = ucfirst(str_replace('pa_', '', $product_attribute_slug));
echo $attribute_name . ' (';
## ===> ===> // Getting the product attribute values
$attribute_values = get_terms($product_attribute_slug);
$count_value = 0;
foreach($attribute_values as $attribute_value){
$count_value++;
$attribute_name_value = $attribute_value->name; // name value
$attribute_slug_value = $attribute_value->slug; // slug value
$attribute_slug_value = $attribute_value->term_id; // ID value
// Displaying HERE the "names" values for an attribute
echo $attribute_name_value;
if($count_value != count($attribute_values)) echo ', ';
}
if($count_slug != count($product_attribute_slugs)) echo '), ';
else echo ').';
}
echo '</div>';
}
}
}
add_action('woocommerce_after_shop_loop_item', 'shop_attributes_in_loop');
и покажет, например, что-то вроде этого (для значений Название pa_color
и pa_size
):
Color (Black, Blue, Green), Size (30, 32, 34, 36, 38, 40, 42, 44).
Код входит в файл function.php вашей активной дочерней темы (активная тема или любой файл плагина).
Этот код проверен и работает.
Очень сложно узнать, что вы спрашиваете, как это написано в настоящее время. – Demitrian
Этот код показывает имя поля atributte. Мне бы хотелось, чтобы код отображал значения атрибута (а не имя полей) ясно сейчас? – Fninja