Как можно показать цену товара в магазине WooCommerce одновременно в двух разных валютах?

Как реализовать отображение цены товара одновременно в гривнах и долларах США на карточке товара в Woocommerce? Требуется плагин или методика для этого.
  • 24 июля 2024 г. 14:23
Ответы на вопрос 3
Для реализации отображения цены товара одновременно в двух разных валютах на карточке товара в WooCommerce можно воспользоваться плагином "WooCommerce Currency Switcher". 

Этот плагин позволит добавить возможность выбора валюты для пользователя на сайте, а также отображать цену товара в двух разных валютах одновременно. 

После установки и настройки плагина, вам будет доступна опция добавить дополнительную валюту к уже существующей на вашем сайте. Таким образом, пользователи смогут видеть цену товара как в выбранной им валюте, так и во второй валюте, например, в долларах США и в гривнах. 

Плагин "WooCommerce Currency Switcher" также предлагает функцию автоматического обновления курсов валют, что позволит всегда отображать актуальные цены на вашем сайте. 

Таким образом, используя данный плагин, вы сможете реализовать отображение цены товара одновременно в двух разных валютах на карточке товара в WooCommerce.
1. Раз в час парсить курс. 
2. Выводить 1 родную стоимость, умножая её на курс.
Да, спасибо. 

Решил так:

add_filter('woocommerce_get_price_html', 'custom_price_html', 100, 2);
function custom_price_html($price, $product) {
// Получение текущего курса доллара к гривне по НБУ
$response = file_get_contents(' https://bank.gov.ua/NBUStatService/v1/statdirector... ');
$data = json_decode($response, true);
$usd_to_uah = $data[0]['rate'];

// Удаление всех нечисловых символов, кроме точки
$cleaned_price = preg_replace('/[^\d.]/', '', strip_tags($price));

// Преобразование очищенной строки в число
$price_in_usd = floatval($cleaned_price);
$price_in_usd = number_format($price_in_usd, 2);

// Конвертация цены в гривны
$price_in_uah = $price_in_usd * $usd_to_uah;
$price_in_uah = number_format($price_in_uah*10, 0);

return 'Цена: ' . $price . ' долларов США
' . $price_in_uah . ' грн';
}
Похожие вопросы