Получите цену товара в другой валюте с помощью WooCommerce Currency Switcher

Вопрос или проблема

Я работаю над страницами продуктов костюмов в WordPress и у меня возникла проблема при выводе цены продукта. Дело в том, что я использую плагин для смены валюты, и поскольку я сделал много изменений в шаблонах, мне пришлось использовать обычный цикл для вывода продуктов:

foreach($items as $item => $values) { 
        $_product =  wc_get_product( $values['data']->get_id() );
        //изображение продукта
        $getProductDetail = wc_get_product( $values['product_id'] );
        //echo "<b>".$_product->get_title() .'</b>  <br> Количество: '.$values['quantity'].'<br>'; 
        //$price = get_post_meta($values['product_id'] , '_price', true);
        $price = $_product->get_price();}

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

$woocommerce->cart->get_cart_total();

это показывает мне общую сумму в корзине с выбранной валютой. Есть ли что-то похожее для отдельного продукта? Или для списка продуктов?

У меня была такая же проблема, но я решил ее, используя $product->get_price_html() вместо $product->get_price(). Тем не менее, имейте в виду, что я использую Multi-Currency for WooCommerce

Ответ или решение

Чтобы получить цену продукта в другой валюте с использованием плагина для переключения валют в WooCommerce, вы можете воспользоваться методом get_price_html() вместо get_price(). Этот метод автоматически возвращает цену товара в текущей выбранной валюте, что решает вашу проблему с отображением цен.

Вот пример того, как вы можете изменить ваш цикл, чтобы получить правильную цену в выбранной валюте:

foreach($items as $item => $values) { 
    $_product = wc_get_product($values['data']->get_id());
    // продукт изображение
    $getProductDetail = wc_get_product($values['product_id']);
    // Выводим название и количество товара
    echo "<b>" . $_product->get_title() . '</b><br>Количество: ' . $values['quantity'] . '<br>'; 
    // Получаем цену товара в выбранной валюте
    $price = $_product->get_price_html();
    echo "Цена: " . $price . "<br>";
}

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

Если у вас установлено расширение, такое как Multi-Currency for WooCommerce, этот способ будет работать еще лучше, так как расширение обеспечит корректное форматирование цен.

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

Оцените материал
Добавить комментарий

Капча загружается...