Как получить все атрибуты с их значениями, связанные с определенной категорией товаров WooCommerce
30 сент. 2018 г., 00:20:00
Просмотры: 32.5K
Голосов: 1
Как известно, для получения значений определенного атрибута, добавленного к товару, мы можем использовать:
$attr_terms = $product->get_attribute( 'attr_slug' );
ИЛИ для получения всех значений определенного атрибута независимо от товара мы можем использовать:
$attr_terms = get_terms( 'pa_attr_slug' );
Но как получить все атрибуты с их значениями, добавленные к товарам определенной категории продуктов?
Что-то вроде:
$cat_attrs = ... ($cat->id);
foreach($cat_attrs as $cat_attr) {
echo $cat_attr->name; // название атрибута
foreach($cat_attr->terms as $term) {
echo $term->name; // название значения атрибута
}
}

stckvrw
285
Все ответы на вопрос
1
0
Итак, я нашел следующее решение:
$args = array(
'category' => array( 'category_slug' )
// или 'term_taxonomy_id' => 4, т.е. ID категории
);
foreach( wc_get_products($args) as $product ){
foreach( $product->get_attributes() as $attr_name => $attr ){
echo wc_attribute_label( $attr_name ); // название атрибута
// или get_taxonomy( $attr_name )->labels->singular_name;
foreach( $attr->get_terms() as $term ){
echo $term->name;
}
}
}

stckvrw
285
2 окт. 2018 г. 23:53:00
Похожие вопросы