• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Решено Вывод двух цен для товара с разными валютами

Cyax

Новичок
Доброго времени суток, форумчане! По прошествии многих дней и бессонных ночей в поисках плагина, дорога поисков привела меня на это форум знатоков.
Цель поиска, плагин вывода двух цен для товара в разных валютах. Предлагаемые плагины, в том числе платные, предлагают вывод одной цены, но переключаемой с поддержкой геолокации. Да, это хорошие плагины, но они не показывают сразу 2 цены.
Я ищу плагин, который будет выводить сразу 2 цены. В моем магазине часть товаров в Евро и хочется, что б автоматом пересчитывалось в рубли. (Пример в файле)
 

Вложения

  • 123.jpg
    123.jpg
    19.6 KB · Просмотры: 6

marr

Специалист
Местный
Ловите функцию, написана для доллара, измените на евро.

Код:
$price_us_int = intval(preg_replace('/[^0-9]+/', '', $price), 10);

function convert_idr_to_usd_cart( $price ){
    $convertion_rate = 0.67;
    $new_price = $price * $convertion_rate;
    return number_format($new_price, 2, '.', '');
}
add_filter( 'wc_price', 'my_custom_price_format', 10, 3 );
function my_custom_price_format( $formatted_price, $price, $args ) {

    // The currency conversion custom calculation function
    $price_usd = convert_idr_to_usd_cart($price);

    // the currency symbol for US dollars
    $currency = 'USD';
    $currency_symbol = get_woocommerce_currency_symbol( $currency );
    $price_usd = $currency_symbol.$price_usd; // adding currency symbol

    // The USD formatted price
    $formatted_price_usd = "<span class='price-usd'> (USD $price_usd)</span>";

    // Return both formatted currencies
    return $formatted_price . $formatted_price_usd;
}
 
  • Like
Реакции: D&B

vltyan

Новичок
Здравствуйте, большое спасибо за этот код. Вроде подогнал его под свои нужды, но возникло пару вопросов.

Вопрос №1
$convertion_rate = 0.67; не понятно как работает, такое ощущение что сам по себе, потому что если через калькулятор прозвести туже операцию ($new_price = $price * $convertion_rate;) получается совершенно другая сумма. Буду признателен если кто-то объяснит.

Вопрос №2
1,100,000 ($1) когда основная сумма больше 6-ти символов, то конвертация ломается. Как можно это доработать?

Заранее спасибо.
 
Сверху Снизу