Skip navigation

Home » Документация по WPML » Связанные проекты » WooCommerce Multilingual – Многоязычные сайты WooCommerce Made Easy » Функции мультивалютности для WooCommerce

Функции мультивалютности для WooCommerce

WooCommerce Multilingual & Multicurrency – это плагин WordPress, который позволяет вести магазин с несколькими валютами. Во внешнем интерфейсе пользователи могут переключаться между различными доступными валютами также, как и между языками.

Вы можете получить базовые функции бесплатно или же купить WPML, чтобы иметь дополнительные возможности для нескольких валют и языков.

Отображение нескольких валют в зависимости от местоположения клиента

Отображение нескольких валют в зависимости от языка

Настройка автоматических обменных курсов

Применение собственных расценок в разных валютах

Настройка разных способов оплаты для каждой валюты

Перевод всего магазина

Изолированная версия

Отображение нескольких валют в зависимости от местоположения клиента

Отображение нескольких валют в зависимости от языка

Настройка автоматических обменных курсов

Применение собственных расценок в разных валютах

Настройка разных способов оплаты для каждой валюты

Перевод всего магазина

Все функции с WPML

Отображение нескольких валют в зависимости от местоположения клиента

Отображение нескольких валют в зависимости от языка

Настройка автоматических обменных курсов

Применение собственных расценок в разных валютах

Настройка разных способов оплаты для каждой валюты

Перевод всего магазина

Требуемые плагины и настройка

Бесплатная изолированная версия WooCommerce Multilingual

Если вас интересует бесплатная изолированная версия WooCommerce Multilingual, установите и активируйте:

Настройка изолированной версии

После установки и активации плагинов перейдите в WooCommerce → Многоязычный WooCommerce и Несколько валют, чтобы включить мультивалютный режим.

Включение мультивалютного режима в изолированной версии WooCommerce Multilingual

WooCommerce Multilingual с WPML

Для создания многоязычного магазина с несколькими валютами с помощью WooCommerce Multilingual и WPML см. страницу документации о WooCommerce Multilingual.

Настройка валют

Есть два способа настройки валют: на основе языка или на основе местонахождения клиента.

Валюты для каждого языка

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

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

Чтобы задать валюту для каждого языка, перейдите в WooCommerce → Многоязычный WooCommerce и Несколько валют и щелкните вкладку Несколько валют.

Настройки нескольких валют для языка сайта

Если для валюты по умолчанию для определенного языка выбрать Оставить, это означает, что валюта магазина не изменится при переключении на этот язык.

При добавлении новой валюты она по умолчанию включается для всех языков. Это можно настроить с помощью соответствующих флажков.

Валюты в зависимости от местонахождения

Этот параметр можно использовать как с WPML, так и без него.

Если у вас есть клиенты в странах с одним языком, но там пользуются разной валютой, свою валюту можно настроить на основе IP-адреса клиентов или адреса выставления счета.

Такой параметр полезен, если вы хотите:

  • Применять определенную валюту для пользователей в зависимости от их местонахождения или адреса выставления счета.
  • Вводить ценовую политику в зависимости от местонахождения.

Например, можно установить более высокую цену для США (при оплате в долларах США), но не для клиентов в Великобритании (при оплате в фунтах стерлингов). Вы можете настроить все так, чтобы клиенты не видели цены в валюте другой страны, даже если оба клиента пользуются английским языком.

Чтобы настроить валюту в зависимости от местонахождения, перейдите в WooCommerce → Многоязычный WooCommerce и Несколько валют, и щелкните вкладку Несколько валют.

Для определения местонахождения клиента по IP-адресу WooCommerce использует MaxMind Geolocation. Для получения самых лучших результатов создайте бесплатную учетную запись MaxMind и создайте новый лицензионный ключ, чтобы определить местонахождение клиента.

Выбор отображения валют в зависимости от местонахождения клиента

После ввода ключа в настройках нескольких валютвы сможете настроить свою валюту для каждой страны.

Щелкните Добавить валюту, чтобы добавить на сайт другую валюту. Можно выбрать страны, для которых была доступна эта валюта. Или же можно исключить определенные страны.

Настройки валют

После включения валюты на основе местонахождения клиента вошедшие в систему клиенты будут видеть валюту исходя из их адреса выставления счета. Для отображения правильной валюты для других клиентов WCML будет использовать их IP-адреса.

Обратите внимание: отображение валют на основе IP-адреса может работать некорректно. Причины:

  • Геолокацию клиентов определяет база данных MaxMind. Покупатели будут видеть валюту вашего магазина по умолчанию, если их IP-адрес не совпадает с адресом в базе данных MaxMind.
  • Во время сеансов Transients и WooCommerce сохраняются IP-адреса, чтобы отображать определенный контент клиентам в определенной местности. В результате цены могут отображаться в одной и той же валюте для пользователей VPN в разных странах.
  • Если вы решили ограничить продажи вашего магазина определенными странами, WooCommerce покажет покупателям из этих стран назначенную валюту. Все остальные покупатели будут видеть валюту вашего магазина по умолчанию.

Геолокацию страны WCML можно переопределить с помощью фильтра-обработчика thewcml_geolocation_get_user_country.

Добавление переключателя валюты во внешний интерфейс

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

Пример отображения переключателя валюты во внешнем интерфейсе

Виджет переключателя валюты

Переключатель валюты можно добавить в шаблон в виде классического виджета WordPress. Обратите внимание, что переключатель пока недоступен в виде блочного виджета.

Для настройки перейдите на вкладку WooCommerceМногоязычный WooCommerce и Несколько валютНесколько валют.

Через параметры переключателя валюты можно:

  • Показывать переключатель валюты в шаблоне страницы товара
  • Просматривать внешний вид переключателя во внешнем интерфейсе перед применением изменений
  • Задавать стиль переключателя
  • Менять порядок валют в переключателе путем перетаскивания
  • Настраивать вывод переключателя
Параметры переключателя валюты

Шаблон переключателя валюты можно настроить с помощью четырех параметров:

  • %name% – полное название валюты, например «Евро»
  • %symbol% – стандартный символ, обозначающий валюту, например «$» или «€».
  • %code% – стандартный код, который обозначает валюту (например, USD для доллара США).
  • %subtotal% – общая стоимость текущего заказа (корзины), без стоимости доставки и дополнительных налогов. Промежуточная сумма представляет собой отформатированную цену и включает обозначение валюты, расположенное в соответствии с параметрами валюты, определенными в настройках WooCommerce.

В WooCommerce Multilingual & Multicurrency также можно использовать такие теги HTML для настройки вывода переключателя: img, span, em, strong и u. Обратите внимание, что эти теги можно использовать только в том случае, если для стиля переключателя валюты выбран Список валют. Это вытекает из официальных стандартов HTML для тега select.

Короткий код переключателя валюты

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

Короткий код: [currency_switcher]

Атрибуты: (Доступные теги: , , ) По умолчанию: %name% (%symbol%)

Пример использования: [currency_switcher format="%code% (%symbol%)"]

Версия с коротким кодом самая удобная при отображении переключателя валюты вместе с контентом WordPress, например в шаблоне контента с помощью плагина Toolset Blocks. Чтобы включить короткий код в шаблон, необходимо использовать блок Поля и текст.

Переключатель валюты в виде PHP-кода

Переключатели валюты также можно добавлять и настраивать с помощью PHP-кода.

do_action('wcml_currency_switcher', array('format' => '%name% (%symbol%)'));

Кроме format, можно использовать этот параметр:

switcher_style: wcml-dropdown, wcml-dropdown-click, wcml-horizontal-list, wcml-vertical-list

Он выводит базовое выпадающее меню с кодами валют для значений параметров. Автоматически будет выбрана текущая валюта клиента или выбранная валюта по умолчанию для определенного языка.

Использование пользовательских переключателей

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

Краткий заголовок пользовательского переключателя создается в зависимости от исключенного имени вашего шаблона, определенного в его файле config.json, и местоположения шаблона:

Расположение пользовательского переключателя валютыКак генерируется краткий заголовок
Папка темыКраткий заголовок темы + исключенное имя переключателя
Папка плагинаКраткий заголовок плагина + исключенное имя переключателя
Папка «загрузки»«uploads-» + исключенное имя переключателя

Рассмотрим пример ниже:

  • Имя вашего пользовательского переключателя валюты – Мой переключатель.
  • Вы используете тему Twenty Seventeen, а файлы шаблонов для ваших переключателей находятся в папке темы.

Краткий заголовок, который будет использоваться с вашим пользовательским переключателем – twenty-seventeen-my-custom-switcher, как в примере ниже.

Using custom currency switcher in PHP templates
do_action('wcml_currency_switcher', array(
  'format' => '%name% (%symbol%)',
  'switcher_style' => 'twenty-seventeen-my-custom-switcher'
));

Версия с кодом PHP лучше всего подходит в случае добавления переключателя валюты вручную в шаблоны PHP.

Настройки способов оплаты

Способы оплаты для магазина можно настроить в WooCommerceНастройкиПлатежи. По умолчанию все настроенные вами способы оплаты будут доступны для всех валют вашего сайта.

Обратите внимание, что при окончательном оформлении заказа будет использоваться валюта, под которую настроен ваш способ оплаты. Это означает, что ваш клиент может увидеть сумму окончательной оплаты в валюте, отличной от той, в которой он совершал покупки до этого.

В этом случае на странице оформления заказа отображается та валюта, которая будет использоваться в транзакции, если она отличается от уже выбранной пользователем. Общая сумма также отображается в конвертированной валюте.

Payment notice on a checkout page
Уведомление об оплате на странице оформления заказа

Настройка разных способов оплаты для каждой валюты

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

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

Эта функция совместима с WooCommerce PayPal Payments, Stripe и прямым банковским переводом.

Как указать желаемые способы оплаты для валюты:

  1. Перейдите в WooCommerceМногоязычный WooCommerce и Несколько валют и щелкните вкладку Несколько валют.
  2. Щелкните значок карандаша напротив любой валюты сайта.
  3. Включите Способы оплаты.
  4. Выберите, какие способы оплаты вы хотите отображать, когда клиент использует эту валюту.
Currency settings
Настройки валют

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

Выбор отображаемых способов оплаты в зависимости от местонахождения клиента

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

Чтобы настроить страны, в которых отображается определенный способ оплаты, перейдите в WooCommerce → Настройки и перейдите на вкладку Платежи. Щелкните способ оплаты, который вы хотите настроить, после чего у вас будет возможность изменить доступность в странах.

Choosing for which countries your payment gateway will show
Выбор стран, для которых будет отображаться способ оплаты

Настройка автоматического обменного курса

Эту функцию можно использовать как с WPML, так и без него.

В WooCommerce Multilingual можно настроить автоматические обменные курсы вашего магазина через вкладку Несколько валют в WooCommerceМногоязычный WooCommerce и Несколько валют. Установите флажок, чтобы включить автоматические обменные курсы.

Automatic exchange rate options
Настройки автоматических обменных курсов

Для этой функции доступны три параметра:

  1. Источник обменных курсов – выберите источник данных обменных курсов. Для этой цели доступны четыре известные службы: Fixer.io, currencylayer, Exchange Rates API и Open Exchange Rates.
  2. Доплата за расходы – вы можете установить дополнительный процент для корректировки окончательного действующего обменного курса. Эта функция полезна для международных транзакций, которые могут повлечь за собой дополнительные расходы.

    Действующий курс на основе установленной доплаты за расходы рассчитывается так:

    Действующий курс = ставка за обслуживание x (1 + доплата за расходы / 100)

  3. Частота обновления – задайте частоту проверки и обновления автоматических обменных курсов для своего магазина. Это можно делать раз в час, в день, в неделю или в месяц. По умолчанию задано обновление вручную. Примечание. Обновление обменных курсов раз в час производит около 744 API-вызовов в месяц. Убедитесь, что ваш источник обменных курсов способен обеспечить подобное более интенсивное использование.

Параметры валют и правила округления

Currency Rounding Rules
Правила округления валюты

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

Устанавливая цены для каждой валюты, их можно автоматически конвертировать в WooCommerce Multilingual, сохраняя при этом их «изящность». Эта возможность обеспечивается путем использования правил округления, которые можно настроить вместе с общими параметрами валюты.

Цены, определенные автоматически, можно округлены до ближайшего целого числа.

Приращение до ближайшего целого:

  • 1454,07 становится 1454, если это значение равно 1
  • 1454,07 становится 1450, если это значение равно 10
  • 1454,07 становится 1500, если это значение равно 100

Сумма автовычитания: значение, вычитаемое из ранее полученной суммы.

В случае 1454.07 при 100 в качестве приращения к ближайшему целому числу и 1 в качестве автоматически вычитаемой суммы получившаяся в результате цена будет равна 1499.

Применение собственных расценок в разных валютах

Эту функцию можно использовать как с WPML, так и без него.

Настройка цен за товары для каждой валюты

В WooCommerce Multilingual можно задать собственные расценки в разных валютах.

Вы можете установить собственные расценки в разных валютах в окне редактирования товара в полях Обычная цена и Цена со скидкой (для валюты по умолчанию).

Они постоянны и будут переопределять цены, автоматически определенные обменным курсом. Чтобы вернуться к использованию автоматических расценок, необходимо удалить собственные расценки и обновить товар.

Применение собственных расценок

Окно редактирования товаров с ассортиментом имеет аналогичный интерфейс.

Установка стоимости доставки для каждой валюты

Также существует возможность настройки отдельных тарифов за доставку для этих стандартных способов доставки WooCommerce в зависимости от валюты:

  • Постоянный тариф – Задайте основной постоянный тариф и классовый тариф за доставку (если таковы определены).
  • Бесплатная доставка – Задайте минимальную сумму
  • Самовывоз – Установите плату за транспортную обработку

Как установить пользовательские расценки за доставку:

  1. Перейдите в WooCommerce → Настройки и откройте вкладку Доставка.
  2. Настройте свои зоны отгрузки и добавьте желаемые способы доставки.
  3. Щелкните Изменить под способом доставки, который необходимо настроить. Откроется всплывающее диалоговое окно.
Редактирование способа доставки на странице настроек WooCommerce
  1. Укажите стоимость доставки в валюте по умолчанию в поле Стоимость.
  2. В раскрывающемся списке Включить стоимость в пользовательских валютах выберите Задавать стоимость доставки в другой валюте вручную.
  3. В появившихся полях введите собственные расценки для остальных валют.
Установка собственных постоянных тарифов в дополнительных валютах

Просмотр заказов и аналитика для каждой валюты

Эту функцию можно использовать как с WPML, так и без него.

К каждому заказу привязана определенная валюта. Это та валюта, в которой покупатель разместил свой заказ. Итог каждого заказа в соответствующей валюте можно просмотреть на странице WooCommerceЗаказы. На этой странице также можно отфильтровать заказы по валютам.

Заказы, отфильтрованные по валютам

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

Аналитика WooCommerce, отфильтрованная по валютам

Информация для разработчиков – Использование низкоуровневых обработчиков для настройки собственной мультивалютной логики

WooCommerce Multilingual определяет набор фильтров и обработчиков, которые могут использовать сторонние плагины для реализации мультивалютной логики, когда WooCommerce и WCML настроены и работают. При этом пользователи могут видеть цены в предпочитаемой ими валюте (итог цен рассчитывается на основе обменного курса валюты). Заказы размещаются в валюте, выбранной пользователем во внешнем интерфейсе.

Обновлено
28 октября, 2022