Я пытаюсь создать код скидки для моего магазина WooCommerce, такого как купить 2 получить 1 бесплатно, купить 3 получить 2 бесплатно, купить 4 получить 3 бесплатно, купить 5 получить 4 бесплатно и т. Д. < Br /> Когда в корзине более 2 продуктов, если 3 -й добавленный продукт стоит дороже, чем другие, он не должен быть бесплатным. Более дешевый один из 2 продуктов должен быть бесплатным. Короче говоря, бесплатные продукты всегда должны быть самыми низкими продуктами. Сначала бросил ошибку в 19:09:03 на 2025-01-28 (14 минут назад). < /p>
Сообщение об ошибке: < /p>
Нео определенная клавиша массива "LINE_TOTAL" Ошибка произошла в строке 35 кода этого фрагмента (выделено ниже). < /p>
Ошибка была инициирована при следующем URL: < /p>
Вы Можно включить журнал ошибок, чтобы получить более подробную информацию об ошибке, которая вызвала это. < /p>
add_action('woocommerce_before_calculate_totals', 'frebeat_bogo_discount', 10, 1);
function frebeat_bogo_discount($cart) {
if (is_admin() && !defined('DOING_AJAX')) {
return;
}
$free_categories = ['non-exclusive-beats', 'exclusive-beats'];
$eligible_products = [];
foreach ($cart->get_cart() as $cart_item_key => $cart_item) {
foreach ($free_categories as $category) {
if (has_term($category, 'product_cat', $cart_item['product_id'])) {
$eligible_products[] = $cart_item;
break;
}
}
}
$eligible_count = count($eligible_products);
if ($eligible_count < 3) {
return;
}
$free_count = floor(($eligible_count - 1) / 2);
usort($eligible_products, function($a, $b) {
return $a['line_total'] $b['line_total'];
});
foreach ($eligible_products as $cart_item) {
if ($free_count set_price(0);
$free_count--;
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... oocommerce
СДЕЛАЙТЕ «Купить 2 Получить 1 бесплатный». Проблема кода в Woocommerce ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как я могу создать купить 2 Получить 1 бесплатный код для магазина WooCommerce?
Anonymous » » в форуме Php - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-