Compra por categorías
-
Buenos días tengo el siguiente código que me permite que mis productos compren solo en una categoría:
function is_product_the_same_cat($valid, $product_id, $quantity) { global $woocommerce; if($woocommerce->cart->cart_contents_count == 0) { return true; } foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) { $_product = $values['data']; $terms = get_the_terms( $_product->id, 'product_cat' ); $target_terms = get_the_terms( $product_id, 'product_cat' ); foreach ($terms as $term) { $cat_ids[] = $term->term_id; } foreach ($target_terms as $term) { $target_cat_ids[] = $term->term_id; } } $same_cat = array_intersect($cat_ids, $target_cat_ids); if(count($same_cat) > 0) return $valid; else { wc_add_notice( 'No puedes comprar productos de restaurantes diferentes, Tienes que hacer un nuevo pedido', 'error' ); return false; } } add_filter( 'woocommerce_add_to_cart_validation', 'is_product_the_same_cat',10,3);
Pero quería incluir lo siguiente:
Hay 3 categorías en mi tienda:
a
b
c
cada una tiene 3 subcategorías:
a
a.1
a.2
a.3
b
b.1
b.2
b.3
c
c.1
c.2
c.3
Y lo que quisiera es que si compra un producto de la categoría «a» solo permita comprar del a, a.1, a.2 y a.3
La única modificación del código sería que dejase solo comprar en una categoría y sus subcategorías.
Sería de gran ayuda, por favor.
Muchas gracias.
Un saludo.`
Viendo 6 respuestas - de la 1 a la 6 (de un total de 6)
Viendo 6 respuestas - de la 1 a la 6 (de un total de 6)
- El debate ‘Compra por categorías’ está cerrado a nuevas respuestas.