Вывод атрибутов товара Woocommerce
04.05.2022
Данный код выводит атрибуты товара как на странице товара Woocommerce, так и в произвольном месте сайта. Во втором случае необходимо получить данные товара через функцию по ID товара.
$product = get_product(123); // где 123 - ID товара.
Если атрибуты нужно получить непосредственно на странице товара, то просто получаем их из глобальной переменной
global $product;
В итоге получаем следующий сниппет
global $product; // Получаем данные товара если находимся на странице товара
$product = get_product(123) // Получаем данные товара если находимся, например, в категории где 123 - ID товара.
$attr = $product->get_attributes() ; // Получаем атрибуты товара
foreach ($attr as $key => $value) {
echo wc_attribute_label( $value['name'] ) . ": "; // Выводим наименование атрибута
foreach ( $value->get_terms() as $pa ) { // Выборка значения заданного атрибута
echo '<b> '.$pa->name.'</b> '; // Выводим значение атрибута
}
}
Получить значение одного конкретного атрибута продукта:
$values = get_the_terms( $product->id, 'pa_obem');
foreach ( $values as $value ) {
echo $value->name;
}
где:
pa_term — имя таксономии
$product->id — id товара
