I would like to find a way to get all the products that match an attribute brand = 226Ers. For example. I am using the automattic/woocommerce package. I have tried a thousand ways but none of them work. I have looked at the documentation and checked the internet but I can’t find the way to do it. Here is an example:
$data = [ 'attributes' => [ [ 'id' => 3,// id of attribute Marca 'options' => '226Ers' ] ] ]; $this->productos = $woocommerce->get('products', $data);
Advertisement
Answer
It seems like you should pass the attribute and the attribute term to retrieve the product filtered by attribute. From ( woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-products-controller.php Line 117
)
// Filter by attribute and term. if ( ! empty( $request['attribute'] ) && ! empty( $request['attribute_term'] ) ) { if ( in_array( $request['attribute'], wc_get_attribute_taxonomy_names(), true ) ) { $tax_query[] = array( 'taxonomy' => $request['attribute'], 'field' => 'term_id', 'terms' => $request['attribute_term'], ); } }
So the code may like
$data = [ 'attribute_term' => 3', 'attribute' => 'pa_marca' ]; $this->productos = $woocommerce->get('products', $data);