Skip to content Skip to sidebar

Home » WPML Documentation » Related Projects » WPML Multilingual & Multicurrency for WooCommerce – Translate Stores » WCML Multi-currency for WooCommerce

WCML Multi-currency for WooCommerce

Add multiple currencies and a flexible currency switcher to your WooCommerce store. Show pricing based on customer location and offer a smoother checkout.

4.1 out of 5 stars.

How WCML works

WPML Multilingual & Multicurrency for WooCommerce (WCML) integrates seamlessly with WooCommerce and offers all the multi-currency functionality your store needs — for free.

Increase sales by showing prices in the customer’s local currency.

Offer a customizable currency switcher that keeps your brand style consistent.

Get reliable, live exchange rates automatically or handle them manually.

Adjust prices and shipping rates per currency for a smoother checkout experience.

Upgrade to a WPML subscription to combine multiple currencies with translated products and deliver a fully localized journey to every customer.

WooCommerce Multi-currency Plugin Features

️Over 200 currencies available, displayed based on customer location

Set each currency to be displayed in specific countries

Customizable currency switcher for WooCommerce (including CSS and shortcodes)

Automatic exchange rates updated in your preferred frequency (hourly, daily, or weekly)

Custom exchange rates, set manually

Custom prices in different currencies

Customizable currency formatting and rounding rules

Adjustable shipping rates per currency

View orders and analytics per currency

Additional Features with WPML Upgrade

Translate your whole WooCommerce store in 65+ languages

Default currency per language

Custom payment gateways per currency and location

API hooks and filters for custom multi-currency logic

How to Enable Multi-currency in WooCommerce

Here are the easy steps to take to add WooCommerce multiple currencies with WCML:

  1. Download and install WCML
  2. Go to WooCommerce → WCML and enable multi-currency mode
  3. Add your secondary currencies
  4. Configure automatic exchange rates

Let’s see these steps in more detail:

1. Download and install WCML

To run your store in multiple currencies, install and activate:

  • WooCommerce
  • WPML Multilingual & Multicurrency for WooCommerce

To access the full multilingual features, you also need WPML and WPML String Translation.

2. Go to WooCommerce → WCML and enable multi-currency mode

Enable multicurrency mode and choose how you want to show currencies:

  • Choose the free option to set up currencies by location.
  • If you have a WPML subscription, you can also choose to show currencies by language.

Option 1: Show Multiple Currencies Based on Location

WooCommerce uses MaxMind Geolocation to detect the customer’s IP address. Create a free MaxMind account and enter your license key.

If needed, you can use the wcml_geolocation_get_user_country filter hook to override the default geolocated country and use the billing or shipping address instead.

See the full set of WCML filters and hooks.

Option 2: Show Multiple Currencies Based on Language

If you have WPML, you can set a default currency for each language. Users will see prices in that currency when they switch languages. You can opt to display multiple currencies for each language or a single currency based on the customer’s language.

Setting up currencies based on language

3. Add your secondary currencies

Click on Add currency to add multiple currencies in your WooCommerce store from 200+ currencies available. Choose the countries you want to display each currency in.

Here, you can also configure your own currency options and rounding rules. Click on the pencil icon next to Currency Preview.

4. Configure automatic exchange rates

When setting automatic exchange rates, choose a service provider, the lifting charge, and update frequency.

Add A Currency Switcher for WooCommerce with WCML

Once you’ve set up multiple currencies, you can display a currency switcher in your site’s theme using a widget, shortcode, or PHP code.

Option 1: Currency Converter Widget

To add a currency switcher as a WordPress classic widget:

  • Go to WooCommerce → WCML, on the Multicurrency tab.
  • Scroll to Widget Currency Switcher and add a new currency switcher widget.

Option 2: Shortcode

To add the currency switcher to other places on your site, use the following shortcode:

Shortcode: [currency_switcher]

Attributes: format (Available tags: %name%, %code%, %symbol%) Default: %name% (%symbol%)

Example usage: [currency_switcher format="%code% (%symbol%)"]

Option 3: PHP Code

To add and customize currency switchers using PHP code, use the following action:

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

Besides format, you can use the following parameter to output a basic dropdown menu with currency codes for option values:

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

The client’s current or the configured default currency for a specific language will be auto-selected.

For more flexibility, you can design custom currency switchers using template files.

Customize Prices And Shipping Rates For Multiple Currencies in WooCommerce

Configure Custom Prices for Different Currencies

To set custom prices for products in different currencies:

  • Edit a product.
  • Under the General setting, select the option to set prices manually and input your prices for every available currency.
Setting custom prices per currency

Custom prices override any prices that are automatically determined by the exchange rate. To revert to using the automatic prices, you need to remove the custom prices and update the product.

Set Shipping Rates by Currency

To configure distinct shipping rates per currency:

  • Go to WooCommerce → Settings and click the Shipping tab.
  • Click Edit under the shipping method you would like to customize. 
  • Enable the option to set costs in custom currencies manually and enter the prices.
Setting shipping costs in other currencies manually

View Orders and Analytics by Currency

On the WooCommerce → Orders page, you can view and filter orders by currency. This can help you understand performance in different currencies.

Manage Payment Gateways Based On Currency and Location

To use different payment methods for each currency and location, you need a paid WPML subscription: WPML Multilingual CMS or WPML Multilingual Agency account.

Set payment gateways per currency

If you have WPML, you can go to the Multicurrency tab in WooCommerce → WPML Multilingual & Multicurrency for WooCommerce and click the pencil icon next to a currency to:

  • Enable Payment Gateways and set specific payment gateways for each currency.
  • Choose which currency to charge customers and receive payments in for each gateway. This allows you to receive payment in a different currency than the one your client is using. They will see their total amount in the converted currency during checkout.

Configure payment gateways based on customer location

On multilingual sites that use geolocation to display currencies, you can control the payment gateways shown to customers in each location.

  1. Go to WooCommerce → Settings and click the Payments tab. 
  2. Click the payment method you would like to adjust.
  3. In Country Availability, set the countries for which you want your payment gateway to show.

Developer Information – Hooks for Multi-Currency

WCML offers filters and hooks for 3rd party plugins to implement custom multicurrency logic, allowing users to see prices and place orders in their preferred currency.

See the full set of WCML filters and hooks.

Want to offer a fully localized WooCommerce store?

Follow our step-by-step guide to make your WooCommerce site multilingual with WPML.

Updated
November 18, 2025