Вопрос или проблема
Я работаю над страницами продуктов костюмов в 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, этот способ будет работать еще лучше, так как расширение обеспечит корректное форматирование цен.
Таким образом, приведенный выше код поможет вам интегрировать отображение цен в разные валюты без необходимости ручного изменения логики получения цены. Вы сможете легко управлять отображением продуктов на своем сайте в зависимости от выбранной валюты, обеспечивая удобство для ваших клиентов.