WooCommerce- Минимальная сумма заказа для определенных категории
Стоит задача поставить на некоторые категории с товарами минимальную сумму заказа в WooCommerce.
Например, есть 5 категорий с товарами, и нужно, чтобы если клиент попытался купить товары из любой из этих категорий менее чем на (нужную сумму), ему в корзине выдавалось предупреждение, что минимальный заказ от .. и он не мог сделать заказ и оплату пока не положит товаров на установленную минимальную сумму с корзине. Для других категорий ограничений минималки нет.
Нашел код в сети, но там такой код, что ограничения нужно делать для каждой категории, то есть если категорий несколько нужно копировать несколько раз код. И непонятно, как он отработает, если из разных категорий с минимальной суммой, положится товар по немного но общая сумма в корзине будет минималка.
add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' ); add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' ); function wc_minimum_order_amount() { // minimum order value $minimum = 2000; if ( WC()->cart->total < $minimum ) { if ( sizeof( WC()->cart->get_cart() ) > 0 ) { $products_min = false; foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) { $_product = $values['data']; $_product_id = $_product->id; $terms = get_the_terms( $_product_id, 'product_cat' ); foreach ($terms as $term) { $_categoryid = $term->term_id; } // your products categories if ( $_categoryid === 114 ) { $products_min = true; } } if( ( is_cart() || is_checkout() ) && $products_min ) { wc_print_notice( sprintf( 'You must have an order with a minimum of %s to place your order, your current order total is %s.' , wc_price( $minimum ), wc_price( WC()->cart->total ) ), 'error' ); } } } }
Может кто знает, как сделать ограничения на минимальную сумму заказа из отдельных категорий?