Подсчитайте, во сколько раз количество превышает лимит

#php #wordpress #woocommerce

Вопрос:

Как я могу подсчитать с помощью итерации количество моего продукта, если оно превышает количество, которое может поместиться в одной палете.

Пример ограничение на одну палету составляет 100, и если это количество продукта превышает 101, то оно добавляет 2 итерации, как вторая палета.

Мой код:

 $tkp = 1;
foreach( WC()->cart->get_cart() as $cart_item ){
    if (!empty(get_post_meta($cart_item['variation_id'], '_number_field', true))) { //this checks if pallet price is empty or not.
        $a = $cart_item['quantity']; // these are products with pallets already.
    } else {
        $atk = strstr(get_post_meta($cart_item['variation_id'], '_alus_al', true), "units", true); // it checks how many products can be in pallet for this variation (ex. 100 units)

        if ($cart_item['quantity'] > $atk) {
            $tk = $tkp  ;
        }
        $tkc = $tk * 8; // 8 is pallet price.
    }

    $calc = $a * 8   $tkc;
    WC()->cart->add_fee(__('Alused', 'txtdomain'), $calc);
}
 

Комментарии:

1. ceil( $quantity / 100 )

Ответ №1:

Вы должны делать $tk = ceil($cart_item['quantity'] / $atk) и не делать проверку «если». Таким образом, вы подсчитываете, сколько палитр вам нужно. Функция ceil округляет их, потому что вы не можете отправить половину палитры

Комментарии:

1. У меня есть 3 продукта, первое количество продукта 1, второе количество продукта 101, третье количество продукта 201, и оно показывает 3, и оно показывает, что значение $tk равно 2.