Cómo obtener todos los atributos con sus términos relacionados a una categoría específica de producto WooCommerce
30 sept 2018, 00:20:00
Vistas: 32.5K
Votos: 1
Como sabemos, para obtener los términos de un atributo específico añadido a un producto podemos usar:
$attr_terms = $product->get_attribute( 'attr_slug' );
O para obtener todos los términos de un atributo específico independientemente de un producto podemos usar
$attr_terms = get_terms( 'pa_attr_slug' );
Pero ¿cómo obtener todos los atributos con sus términos añadidos a productos de una categoría específica de producto?
Algo como:
$cat_attrs = ... ($cat->id);
foreach($cat_attrs as $cat_attr) {
echo $cat_attr->name; // nombre del atributo
foreach($cat_attr->terms as $term) {
echo $term->name; // nombre del término del atributo
}
}

stckvrw
285
Todas las respuestas a la pregunta
1
0
Bueno, encontré la siguiente solución:
$args = array(
'category' => array( 'slug_de_categoria' )
// o 'term_taxonomy_id' => 4 es decir, el ID de la categoría
);
foreach( wc_get_products($args) as $product ){
foreach( $product->get_attributes() as $attr_name => $attr ){
echo wc_attribute_label( $attr_name ); // etiqueta del atributo
// o get_taxonomy( $attr_name )->labels->singular_name;
foreach( $attr->get_terms() as $term ){
echo $term->name;
}
}
}

stckvrw
285
2 oct 2018 23:53:00
Preguntas relacionadas
2
respuestas