Задать вопрос

Как правильно сделать скидку на товары в Woocommerce?

Всем привет.
Я пытаюсь сделать следующий функционал:
применить скидку на все товары определенных категорий КРОМЕ первого добавленного в корзину.
На данный момент у меня такой код (пока для всех категорий делаю, потом допишу код):

add_action('woocommerce_before_calculate_totals', 'discount', 10, 1);
function discount( $cart ) {
    if (is_admin() && !defined('DOING_AJAX')) {
        return;
    }

    if (did_action('woocommerce_before_calculate_totals') >= 2) {
        return;
    }

    $count = 0;
    $percentage = 50;

    foreach ($cart->get_cart() as $cart_item) {
        $count++;

        if ($count === 1) {
            continue;
        }

        $price = $cart_item['data']->get_price();
        $discounted_price = $price * (1 - ($percentage / 100));

        $cart_item['data']->set_price($discounted_price);
    }
}


Все работает, но я хотел бы как-то показать пользователю, что на товары применилась скидка.
Например, я бы хотел, чтобы в колонке "Итого" (поле товара subtotal) отображалась сумма с учетом скидки.
С приведенным выше кодом меняется колонка "Стоимость" и соответственно и "Итого".
61ed663eef539395054062.png
  • Вопрос задан
  • 349 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы