Всем привет.
Подскажите, пожалуйста, как можно дописать код ниже, который был найден тут, чтобы он работал не только один раз для 3 товара, а для каждого 3(3,6,9,12..). Выручите,пожалуйста, уже который день бьюсь над этим и никак
add_action( 'woocommerce_cart_calculate_fees','hml_fee_one_plus_one', 10, 1 );
function hml_fee_one_plus_one( WC_Cart $cart_object ) {
global $wpdb, $woocommerce;
if ( is_admin() && ! defined( 'DOING_AJAX' ) ) { return; }
$arr_cart = $cart_object->get_cart();
if ( 0 == sizeof($arr_cart) ) { return; }
$count = 0;
$min_price = 0;
$category_id = 81;
// получаем список всех вложенных категорий включая родительскую
$cats = hml_get_category_gender_line( $category_id );
foreach( $arr_cart as $item_key => $value ) {
if ( has_term($cats, 'product_cat', $value['product_id'] ) ) {
$count += $value["quantity"];
$product = $value['data'];
$price = $product->get_price();
if ( $price ) { $prices[] = floatval($price); }
}
}
$min_price = max( $min_price, min($prices) );
if ( $count >= 3 && $min_price > 0 ) {
$fee = -1 * $min_price;
$cart_object->add_fee( __('Акция'), $fee );
}
//}
}
function hml_get_category_gender_line( $cat_parent ){
$line = get_term_children( (int) $cat_parent, 'product_cat');
$line[] = $cat_parent;
return $line;
}