Как разрешить код купона с индивидуальной скидкой на товары со скидкой в ​​Woocommerce?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как разрешить код купона с индивидуальной скидкой на товары со скидкой в ​​Woocommerce?

Сообщение Anonymous »

Я пытаюсь создать код купона, который должен давать скидку 5 % на товары, у которых еще нет скидки. Я хочу использовать этот код купона в качестве подарка. Я создал код купона в WooCommerce, и этот код купона работает. При оформлении заказа применяется скидка 5 %.
Однако, когда я применяю этот код купона при оформлении заказа, он отменяет специальное правило скидки в размере 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 );
}
}
Когда я удаляю логику для товаров без скидки $term_name && $item['line_subtotal'] === $item['line_total'] и использую код купона , то скидку 5 % можно применить к корзине одновременно с сохранением скидки 15 %. Однако скидка 5 % теперь распространяется на все товары в корзине, в том числе и на товары со скидкой 15 %.
Я знаю, что могу исключить продукты, когда создаю код купона. Но исключение продуктов означает, что даже если покупка кого-то выходит за рамки правила скидки 15%, он все равно не сможет использовать 5% на эти продукты. Кроме того, установка флажка, запрещающего применять купон с другими купонами, ничего не меняет в существующем правиле скидки 15 %.
Я хочу, чтобы мой код купона применялся только к продуктам, которые на которые еще не была скидка.
Для лучшего понимания:
Вот скриншот того, как корзина выглядит, когда применяется/активно указанное выше правило скидки 15 %:
[img]https://i.sstatic. net/W5Xvd8wX.png[/img]
  • Мой код рассчитывается правильно. Он дает скидку 15 % на 6 товаров,
    соответствующих критериям. На другой товар не распространяется скидка 15 %.
Вот скриншот того, как выглядит корзина, когда я применяю скидку 5 %. код купона на другой продукт/товар:
Изображение
  • Код купона теперь отменяет мое пользовательское правило скидки и теперь дает скидку только 5 % от общей стоимости корзины.
Вот скриншот того, как выглядит корзина, когда логика моего правила скидки 15% удалена $item['line_subtotal'] === $item ['line_total'] для товаров без скидки, и я применяю свой код купона на 5 % к другому товару:
Изображение
  • Теперь скидка 15% распространяется на товары, которые имеют для этого право.
  • Дополнительно предоставляется скидка 5 % от общей стоимости заказа.
Итак, мой вопрос: как я могу сохранить правило скидки 15 % и в то же время разрешить применять код купона на 5 % к продуктам, на которые еще нет скидки?
  • Я вижу, что есть способ создать купон в php (ссылка ниже), но есть ли способ применить логику, которая предотвращает расчет продуктов со скидкой 15 % в 5%?
Будем очень признательны за любую помощь и совет. Возможно, мой подход неверен и в woocommerce есть какие-то ограничения, которые не позволяют мне достичь того, чего я пытаюсь достичь?
Заранее спасибо, что прочитали все это.
Заранее благодарю вас за то, что прочитали все это.
p>
Список ссылок
  • Добавьте скидку в корзину для товаров без скидки с помощью купона
  • Добавьте скидку на товары без скидки с определенным значением атрибута в WooCommerce.
  • Код купона Woocommerce для персонализированного клиента.
  • Примените скидку 100 % по купону на самый дешевый товар в корзине WooCommerce


Подробнее здесь: https://stackoverflow.com/questions/784 ... oocommerce
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»