Buenos días tengo el siguiente código que me permite que mis productos compren solo en una categoría:
operate is_product_the_same_cat($legitimate, $product_id, $amount)
{
international $woocommerce;
if($woocommerce->cart->cart_contents_count == 0) {
return true;
}
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
$phrases = get_the_terms( $_product->id, 'product_cat' );
$target_terms = get_the_terms( $product_id, 'product_cat' );
foreach ($phrases as $time period) {
$cat_ids[] = $term->term_id;
}
foreach ($target_terms as $time period) {
$target_cat_ids[] = $term->term_id;
}
}
$same_cat = array_intersect($cat_ids, $target_cat_ids);
if(depend($same_cat) > 0) return $legitimate;
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);
Contraer
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.`