Поддержка WooCommerce Изменения цены вариативного товара

  • Добрый день!

    Подскажите код для динамического изменения цены вариативного товара?
    Суть — есть вариативный товар, у каждой вариации есть установленная цена. Необходимо в function.php добавить код, в котором есть некий коэффициент, на который будет умножаться цена каждой вариации товара при выводе. (чтоб можно было бы в function.php быстро поменять этот коэффициент и изменить цену товара/вариаций)
    Не могу найти хук, который отвечает именно за вывод цены вариации.

Просмотр 1 ответа (всего 1)
  • В идеале должен быть код типа:

    add_filter('woocommerce_get_regular_price', 'customPrice', 10, 2); // Изменяем обычную цену
    add_filter('woocommerce_get_sale_price', 'customPrice', 10, 2); // Изменяем цену со скидкой
    add_filter('woocommerce_get_price', 'customPrice', 10, 2); // Изменяем цену
     
    add_filter('woocommerce_variation_prices_sale_price', 'customPrice', 10, 2); // Изменяем цену со скидкой у вариативных товаров
    add_filter('woocommerce_variation_prices_regular_price', 'customPrice', 10, 2); // Изменяем обычную цену у вариативных товаров
    add_filter('woocommerce_variation_prices_price', 'customPrice', 10, 2); // Изменяем цену у вариативного товара
     
    function customPrice($price, $product)
    {
        // Конвертируем цены только у товаров имеющих тег 'usd'
        if (has_term('usd', 'product_tag', $product->id)) {
            $rate = 70; // Курс валюты
            $price = $price * $rate;
        }
     
        return $price;
    }

    Но он — не работает. Простые цены — пересчитывает отлично, но не работает для вариативных цен, и для скидок.
    Я со скидками — переживу, но вариативные цены — очень нужны!

Просмотр 1 ответа (всего 1)