Cum să obții toate atributele cu termenii lor asociați unei categorii specifice de produse Woocommerce
30 sept. 2018, 00:20:00
Vizualizări: 32.5K
Voturi: 1
După cum știm, pentru a obține termenii unui atribut specific adăugat unui produs putem folosi:
$attr_terms = $product->get_attribute( 'attr_slug' );
SAU pentru a obține toți termenii unui atribut specific indiferent de produs putem folosi
$attr_terms = get_terms( 'pa_attr_slug' );
Dar cum putem obține toate atributele cu termenii lor adăugați produselor dintr-o categorie specifică de produse?
Ceva de genul:
$cat_attrs = ... ($cat->id);
foreach($cat_attrs as $cat_attr) {
echo $cat_attr->name; // numele atributului
foreach($cat_attr->terms as $term) {
echo $term->name; // numele termenului atributului
}
}

stckvrw
285
Toate răspunsurile la întrebare
1
0
Ei bine, am găsit următoarea soluție:
$args = array(
'category' => array( 'slug_categorie' )
// sau 'term_taxonomy_id' => 4 adică ID-ul categoriei
);
foreach( wc_get_products($args) as $product ){
foreach( $product->get_attributes() as $attr_name => $attr ){
echo wc_attribute_label( $attr_name ); // eticheta atributului
// sau get_taxonomy( $attr_name )->labels->singular_name;
foreach( $attr->get_terms() as $term ){
echo $term->name;
}
}
}

stckvrw
285
2 oct. 2018 23:53:00
Întrebări similare
2
răspunsuri