Однако, когда я применяю этот код купона при оформлении заказа, он отменяет специальное правило скидки в размере 15 %.
Я хотел бы сохранить скидку 15 % и дополнительно применить 5 % к продуктам/предметам, на которые не распространяется скидка 15 %, когда я использую этот код купона.
Ниже это мой собственный код скидки, который применяет скидку 15% к товарам без скидки, когда в корзине 6 или более товаров с определенным значением атрибута при оформлении заказа WooCommerce.
Код: Выделить всё
add_action( 'woocommerce_cart_calculate_fees', 'wc_cart_item_quantity_discount' );
function wc_cart_item_quantity_discount( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$discount = $items_count = $percent = $items_subtotal = 0; // Initializing variables
$taxonomy = 'pa_variant'; // Attribute taxonomy (or taxonomy label name too)
$term_name = 'flaske (1 flaske)'; // Attribute term NAME
// Loop through cart items
foreach( $cart->get_cart() as $item ) {
$product = $item['data'];
// Targeting undiscounted items that have a specific product attribute value
if ($product->get_attribute($taxonomy) === $term_name && $item['line_subtotal'] === $item['line_total'] ) {
$items_count += $item['quantity'];
$items_subtotal += $item['line_subtotal'];
}
}
// Discount percentage based on item count
if ($items_count >= 6) {
$percent = 15; // Discount percentage
$discount -= $items_subtotal * $percent / 100; // Calculation
$cart->add_fee( __('Mix & Match rabat', 'woocommerce') . " - {$percent}%", $discount );
}
}
Я знаю, что могу исключить продукты, когда создаю код купона. Но исключение продуктов означает, что даже если покупка кого-то выходит за рамки правила скидки 15%, он все равно не сможет использовать 5% на эти продукты. Кроме того, установка флажка, запрещающего применять купон с другими купонами, ничего не меняет в существующем правиле скидки 15 %.
Я хочу, чтобы мой код купона применялся только к продуктам, которые на которые еще не была скидка.
Для лучшего понимания:
Вот скриншот того, как корзина выглядит, когда применяется/активно указанное выше правило скидки 15 %:
[img]https://i.sstatic. net/W5Xvd8wX.png[/img]
- Мой код рассчитывается правильно. Он дает скидку 15 % на 6 товаров,
соответствующих критериям. На другой товар не распространяется скидка 15 %.

- Код купона теперь отменяет мое пользовательское правило скидки и теперь дает скидку только 5 % от общей стоимости корзины.

- Теперь скидка 15% распространяется на товары, которые имеют для этого право.
- Дополнительно предоставляется скидка 5 % от общей стоимости заказа.
- Я вижу, что есть способ создать купон в php (ссылка ниже), но есть ли способ применить логику, которая предотвращает расчет продуктов со скидкой 15 % в 5%?
Заранее спасибо, что прочитали все это.
Заранее благодарю вас за то, что прочитали все это.
p>
Список ссылок
- Добавьте скидку в корзину для товаров без скидки с помощью купона
- Добавьте скидку на товары без скидки с определенным значением атрибута в WooCommerce.
- Код купона Woocommerce для персонализированного клиента.
- Примените скидку 100 % по купону на самый дешевый товар в корзине WooCommerce
Подробнее здесь: https://stackoverflow.com/questions/784 ... oocommerce