У меня есть веб-сайт WordPress Woo Commerce, я использую доллар США в качестве основной валюты для всех продуктов, но на интерфейсном веб-сайте валюта и цена продукта конвертируются автоматически в зависимости от местоположения пользователя в GEO с последним курсом обмена.
Например, если я добавил товар по цене 1,00 долл. США, если покупатель из Нигерии, он покажет ему цену в 362,00 нг. Аналогично, если покупатель из Великобритании, он увидит цену 0,80 ..
* 1004. * Когда пользователь платит сумму любым способом, он преобразует цену обратно в доллары США только на странице заказа. Это хорошо. Все отлично работает.
Но при получении заказа пишите на админку. Он показывает символ валюты как NGN или £ в зависимости от местоположения клиента, но показывает цену в долларах США.
Например:
Это также должно быть $ 1,00 по электронной почте. но он показывает £ 1,00 по электронной почте.
Я хочу, чтобы он показывал $ 1,00 при заказе по электронной почте или £ 0,80 ..
Вот мой код: мой код работает идеально вездена вебсайте. Но не по заказу или спасибо, вы заказываете электронные письма администратору / клиенту.
add_filter('woocommerce_currency_symbol', 'cipher_change_currency_symbol');
function cipher_change_currency_symbol()
{
if (!is_checkout()) {
$data = cipherDetection();
return $data['currency_symbol'];
} else {
return '$';
}
}
Аналогично для изменения цены.
add_filter('woocommerce_get_price', 'cart_price', 10, 2);
add_filter('woocommerce_get_regular_price', 'cart_price', 10, 2);
add_filter('woocommerce_get_sale_price', 'cart_price', 10, 2);
function cart_price($price, $product)
{
if (!is_checkout()) {
$data = cipherDetection();
$dataPRICE = (float)$data['price'];
$cipherPRICE = ($dataPRICE * $price);
$cipherPRICE = bcdiv($cipherPRICE, 1, 2);
return $cipherPRICE;
} else {
return $price;
}
}