WooCommerce Multicurrency (Currency Switcher)

Add multiple currencies (currency switcher) to WooCommerce


When enabled, WooCommerce Multicurrency (Currency Switcher) module adds multicurrency (currency switcher) to your WooCommerce shop.


First you will need to set which currencies you want to add.

  • Go to admin options in WooCommerce > Settings > Booster > Prices & Currencies > Multicurrency.
  • Then go to Currency Options, set number of Total Currencies and press Save changes button. Please note that you will probably need to add current (original) shop currency here (with an exchange rate of 1), so most likely minimum number here should be set to at least 2.
  • Then choose currencies you want to add from drop down lists and set exchange rates for each currency. Rates can be set to update automatically or manually.
  • If you prefer setting price in each currency on per product basis (instead of using automatic price calculation by exchange rates) – enable Multicurrency on per Product Basis checkbox and go to product edit page.

General Options

Booster for WooCommerce - Multicurrency Currency Switcher - Admin Settings - General

Exchange Rates Updates
Select how you want currency exchange rates to be updated. Possible options are: manually or automatically via Currency Exchange Rates module.
Default: Enter Rates Manually
Multicurrency on per Product Basis
If you enable this option, you will be able to enter prices for products in different currencies directly (i.e. without exchange rates). This will add meta boxes in product edit.
Default: yes
Revert Currency to Default on Checkout
Enable this if you want prices to revert back to your shop’s default currency, when customer reaches the checkout page.
Default: no
If using exchange rates, choose rounding here.
Default: No rounding
Rounding Precision
If rounding is enabled, set rounding precision here.
Default: 2
Currency Switcher Template
Set how you want currency switcher to be displayed on frontend. Replaced values: %currency_name%, %currency_symbol%, %currency_code%.
Default: %currency_name% (%currency_symbol%)
Advanced: Additional Price Filters
Add additional price filters here. One per line. Leave blank if not sure. E.g.: woocommerce_subscriptions_product_price, woocommerce_get_price.
Default: None

Currencies Options

Booster for WooCommerce - Multicurrency Currency Switcher - Admin Settings - Currencies

Total Currencies
Set total number of currencies here. One currency probably should be set to current (original) shop currency with an exchange rate of 1. Press Save changes after setting this option, so new settings fields will be added.
Default: 2
Currency #X
Here you can select which currency you want to add. Also, in case if you selected "Enter Rates Manually", you can set exchange rate here. In case of automatic updates, rate will be updated automatically. You can also grab current exchange rate by pressing button near the exchange rate field.
Default: Shop’s default currency with exchange rate 1

Role Defaults

This section lets you set default currency for user role. Leave blank to disable.

Booster for WooCommerce - Multicurrency Currency Switcher - Admin Settings - Role Defaults

Currency Switcher

After setting currencies in the Currencies Options, you can use either Booster – Multicurrency Switcher widget, or one of the shortcodes:

  • [wcj_currency_select_drop_down_list],
  • [wcj_currency_select_link_list],
  • [wcj_currency_select_radio_list].

Or if you want to insert switcher in your PHP code, just use:

echo do_shortcode( '[wcj_currency_select_drop_down_list]' );

Drop down currency selector should look like this on frontend:

WooCommerce Multicurrency (Currency Switcher)

If you want to place currency selector near the price, you could use Product Info Module – WooCommerce > Settings > Booster > Products > Product Info – and add [wcj_currency_select_drop_down_list] shortcode there.
You can add currency switcher as a custom link with URL /?wcj-currency=EUR etc.
You may want to put switcher shortcode in text widget – you can enable shortcodes in WordPress text widgets in Booster’s General module (in “WooCommerce > Settings > Booster > Emails & Misc. > General”) with “Enable All Shortcodes in WordPress Text Widgets” checkbox.
If you want to hide/show switcher for certain user roles, you can use visibility common attribute (which can be used for any Booster’s shortcode). For example, if you want switcher to be visible to administrator and customer user roles only, use:

[wcj_currency_select_drop_down_list visibility="administrator,customer"]
By default “Multicurrency (Currency Switcher)” module is run after the “Price by User Role” module, so if you are using per product prices in “Multicurrency (Currency Switcher)” module (i.e. aren’t using exchange rates), “Multicurrency (Currency Switcher)” module prices will just overwrite the “Price by User Role” prices. To fix this, you need to change modules priorities so that “Multicurrency (Currency Switcher)” is run before the “Price by User Role” module. There are “Advanced: Price Filters Priority” options in both modules – try setting “Multicurrency (Currency Switcher) > Advanced: Price Filters Priority” to 999, and “Price by User Role > Advanced: Price Filters Priority” to 1000.

Front end view

WooCommerce Multicurrency (Currency Switcher)

Accessible through:
  • WooCommerce > Settings > Booster > Prices & Currencies > Multicurrency (Currency Switcher)
Tested on WooCommerce 3.5.4 and WordPress 5.0.3
Plugin can be downloaded here. If there are any locked fields in the module, you will need to get Booster Plus to unlock them.

Leave a Reply



  1. Jackson May 10, 2016 at 2:47 pm #

    Useful and frankly works best out of all I’ve tested but there is no api documentation. Would be great to have fast access to info needed for integration with other plugins. Like how to get current currency and it’s rate.

    Reply to thread

    • Booster Support Team May 11, 2016 at 7:18 pm #


      Will be done, however our *user* documentation is far from full now, so I’m not sure when we will get to the API. Meanwhile I could try to guide you, so please contact me on if you have any questions.

      Regarding current currency and exchange rate – please download the development version here – You will need to uninstall the old version first (don’t worry your saved settings won’t disappear). Then you can use wcj_get_current_currency_code( $module ) and wcj_get_currency_exchange_rate( $module, $currency_code ) functions, where:

      • $module should be set to multicurrency,
      • $currency_code is the second code from currency pair, that is if your shop’s main currency is USD, you should set $currency_code to EUR, to get USD/EUR rate.

      $user_selected_currency = wcj_get_current_currency_code( 'multicurrency' );
      wcj_get_currency_exchange_rate( 'multicurrency', $user_selected_currency );

      Best regards,

      Booster Support Team
  2. Paco Camarena June 29, 2016 at 6:16 pm #


    I have set this module with 3 different currencies: Mexican Peso (default), Euro and US Dollar. Also i have some coupons set with a discount of $50 mexican pesos, but whenever i change of currency (ex: Euros) it takes the $50 pesos as $50 Euros 🙁

    I’m doing something wrong? Inside the settings of the coupon there is nothing to specify the currency of the amount to discount.


    Reply to thread

    • Booster Support Team July 8, 2016 at 9:26 pm #


      Sorry for the delay. Unfortunately at the moment coupon’s currency is not converted. I will try to add it to some of the next updates.

      Best regards,

      Booster Support Team
  3. David Shultz July 8, 2016 at 6:25 pm #

    Hi. You mention that we can use the code [wcj_currency_select_drop_down_list] to implement this feature

    Since I am a store owner, not a programmer, I don’t know what to do with this information. Where would I place either of these? I can open and edit files, but I don’t know which file(s) to edit, and where in the file to place the code.

    Also, if I were to use the widget instead, where would I place it?

    Please advise.


    Reply to thread

    • Booster Support Team July 8, 2016 at 9:22 pm #


      Regarding widget – you can use it the same as you would any other WordPress widget, i.e. go to your site’s admin dashboard, then Appearance > Widgets. There you can drag and drop “Booster: Multicurrency Switcher Widget” to any widget area.

      Regarding shortcode – for example you could place it inside single product’s summary area. To do that you need to enable “Product Info” module (in “WooCommerce > Settings > Booster > Products > Product Info”). Then add [wcj_currency_select_drop_down_list] shortcode to “Content” field.

      Please let me know if you have any questions.

      Best regards,

      Booster Support Team
  4. Gerrit July 19, 2016 at 4:57 pm #


    for some reason my currency switcher isn’t working well, as in that it does refresh the page, but still with the old currency. So when the currency was Euros, and I change it into US dollar, price and currency symbol will stay on Euros. Going to another product will then display in the prices and currency symbol for dollar.


    Would it also be possible to create links to put in a menu, like a menu on the top of the page? Would be perfect to have currency and language together in a top menu.

    Reply to thread

    • Uldis February 6, 2018 at 10:10 pm #

      Same problem. Default currency is EUR. I added MYR for Malaysia. Now even when switch to EUR it displays correct prices but symbol is MYR (wrong). Can anyone please help?

  5. theamoc August 18, 2016 at 3:23 am #

    I want to buy the booster plus version.
    But before that, I see some issues in free version.

    I see that currency switcher does not convert the values in woocommerce price filter widget
    It only changes the symbol.
    Same issue is seen in woocommerce layered nav active filter.

    Please help me resolve.

    Reply to thread

    • theamoc August 18, 2016 at 3:24 am #

      Also, please note that it doesnt work for mini cart option.
      Only when user moves to the cart page, mini cart is updated.

      Or else, it shows the old values.

      Need all these 3 issues resolved.
      Please help.

    • theamoc August 18, 2016 at 4:01 am #

      There is another issue as well.

      Say for example :

      Store default currency – USD
      Product 1 :
      base currency – INR
      Product 2 :
      base currency – USD

      default country currency – SGD as per IP
      So, when a user goes to the site, until now, both products are showing correct converted value.

      But when I choose say “SGD” from currency switcher,
      I see that the booster fails to realise its in SGD and converts the already converted value once more.
      This is wrong and serious bug.

  6. Hazel October 11, 2016 at 4:17 pm #

    Hello, I am currently using WooCommerce Multicurrency (Currency Switcher) on my site and am looking to add some more functionality.

    I want to upgrade to the plus edition but want to ask about a feature that I don’t think you cater for but is something that I would need for my site.

    I am building a worldwide resource catalog for a brand product. There are different products available to different counties in different currencies at different prices.

    I am linking to the products where they can be purchased using the External/Affiliate Product.

    At the moment I am trialing your plugin using just UK and US currencies and it works well. What I would like it to do in addition is to call up a different ‘Buy it from…’ button for each of the different countries and currencies.

    Is this possible?


    Reply to thread

  7. JK October 26, 2016 at 12:40 pm #


    I am not a programmer but just a user, and I would like to add the currency switcher in my theme’s sticky navigation menu, however, I am not sure where to insert the code: echo do_shortcode( ‘[wcj_currency_select_drop_down_list]‘ );

    I have tried inserting it in the custom css option of the child theme but it doesn’t work. I also tried inserting it in the fuctions.php of the child theme but no luck. Can you please guide me as to where I could insert the code or maybe insert a different code in the custom css please?

    Thank you very much for your help.

    Kind regards

    Reply to thread

  8. Manuel Irra April 11, 2017 at 10:57 pm #

    I have Booster Plus for WooCommerce,

    This tool doesnt work for mini cart option.
    Only when user moves to the cart page, mini cart is updated.

    Or else, it shows the old values.

    Please help.

    Reply to thread

  9. Alison Baker June 22, 2017 at 10:31 am #

    Is there a way to change the currency name? For example, I don’t want Pounds Sterling £ in the list, I’d like to have just Pounds or Sterling £.


    Reply to thread

  10. Antoine August 22, 2017 at 4:29 am #

    I used the multi-currency switcher and whenever a coupon is applied to the cart all the values are multiplied by 100. Both work fine by themselves…. any way to fix this?

    Reply to thread

  11. awag September 17, 2017 at 8:09 pm #

    Booster is really a complete toolbox! congrat to the team.
    I use Prices and Currencies by Country module which automatically detects customers’ countries by their IP address.
    That’s great but I need to let my customers the option to display the price in another currency that the one automatically selected based on their country.

    I tried to use this module currency switcher but when selecting another currency, the page refresh but nothing is happening unfortunately.
    any idea please ?

    Reply to thread

    • Josh November 27, 2017 at 6:16 pm #

      Hi Awag, I too am experiencing this but it’s a problem that only started recently. This used to work. I believe it may be a conflict with another plugin, but can’t prove this.

      If you find a solution, please reply and let us know!


  12. Omar February 28, 2018 at 11:47 pm #

    I want a custom code — that if currency is selcted usd add a bank fee. Please tell how to do

    Reply to thread

  13. websiteglobal March 5, 2018 at 7:09 am #

    I recently purchased your collection of plugins for the currency conversion options.
    I set up the currencies i needed in the free version, everything worked how I had hoped.
    For convienience I purchased your product so I could take benefit from the automatic currency conversion module.
    Everything worked great until I logged out. When I use the site and i’m not logged in i get an error when trying to cover currencies.

    ERROR: Sorry, there was an error. Please be sure JavaScript and Cookies are enabled in your browser and try again.

    I’ve cleared the cache, disabled all other plugins, updated to the latest versions of everything. Still get the same result.
    When I’m logged in as an administrator I can use the Currency Switcher Widget, it works perfectly. When I log out, to test as a customer I get the above error. I hope the is a solution for this.

    Reply to thread

  14. Jorge Santos June 26, 2018 at 11:52 am #


    how can i retrieve the $final_value ?

    $first_value = $price; //our $sale_price
    $second_value = $wcj_multicurrency_base_price_exchange_rate_2;

    $final_value = $first_value * $second_value;

    Thank you

    Reply to thread

  15. mikolasandor September 6, 2018 at 6:59 am #

    I Use Booster plus, The Multicurrency (Currency Switcher) is fine on PC but on mobile phone, the other widgets are appear, but the currency switcher isn’t.

    Reply to thread

    • mikolasandor September 6, 2018 at 7:02 am #

      The switcer is under the header widget area, in storefront theme

    • RokasJ September 6, 2018 at 10:42 am #

      Hi Mikolasandor,

      Can you contact us at with the url to your website? Thank you.

      Best regards,
      Rokas – Support Team

  16. Jared Francais September 25, 2018 at 2:42 pm #

    Do you have any plans to allow styling of the drop down? I have used a similar currency switcher from another vendor that gives a much nicer drop down with the flag included in the display, etc. I much prefer the functionality of yours but the styling is a sticking point. The currency selector doesnt stand out for my users and I get questions about currency all the time because they don’t see the selector.

    Reply to thread

    • RokasJ September 25, 2018 at 6:44 pm #

      Hi Jared,

      Typically styling is based on your current theme but if you want the switcher to have flags then that’s possible as well. For that you would want to use a “Prices and Currencies by Country” module and use its [wcj_country_select_drop_down_list] shortcode or “Booster: Country Switcher” widget instead. You would also have to enable “Add Countries Flags Images to Select Drop-Down Box” option in the module settings.

      Best regards,
      Rokas – Support Team

  17. Jared Francais September 26, 2018 at 5:28 pm #

    Having an issue with the plugin. Currency is converting properly, showing properly, checking out properly, charging properly. But when I look in my orders section of the website while the price is the converted value, it shows it as being in the wrong currency. For example, I have an item that is $45CAD + shipping. It converts to $27.86 USD. The user can select that currency, see that all the way through the order process, and complete the order. In my payment processor it charged $27.86 USD. But when you look in my orders page it shows as $27.86CAD and any invoices I print or information tagged with the order shows that same incorrect currency. Is there any way to properly show the currency charged in there? This is a big problem for my mail ins and my accounting.

    Reply to thread

    • RokasJ September 27, 2018 at 9:59 am #

      Hi Jared,

      Can you contact us via email at Thank you.

      Best regards,
      Rokas – Support Team

  18. Fraser Smith October 24, 2018 at 3:26 pm #

    I’m using the widget for this module and am having a few issues.

    1: Unlike the Country Switcher, it doesn’t show country flags when I enable the option in ‘Prices and Currencies by Country’ module.
    2: I’d like to be able to use my own flag images, rather than those used by default
    3: I’d like the flag to appear INSTEAD OF the text, not as well as
    4: (Most importantly) It doesn’t update the currency when I change options in the dropdown. The only way I’ve found to change currency is to change shipping country on Checkout page

    Reply to thread

    • RokasJ October 24, 2018 at 7:45 pm #

      Hi Fraser,

      Regarding your points 1-3 we have added those to our todo list. Can you please contact us about your issue at

      Best regards,
      Rokas – Support Team

  19. omyoki November 20, 2018 at 9:08 am #


    I just realised the plugin is not working anymore! I had multi-currencies on and it was working fine and now it isn’t anymore. Trying to solve the issue I see that my API key was not there anymore, so I tried to set it again and there is an “Server error. Please try again later. ”

    Please help! I have not clue what to do and I really like your plugin!

    Thanks in advance for your help!


    Stéphanie Conte – Omyoki owner

    Reply to thread

  20. Keld Høfler November 21, 2018 at 9:33 am #

    When I install this I get an error, the price on the product is correct, but in the basket it is wrong, I use DKK as my main currence and a product worth DKK 899 is €122 But when i buy it the basket say €17
    why does this double calculate?

    Reply to thread

    • RokasJ November 21, 2018 at 3:23 pm #

      Hi Keld,

      Could you please try enabling Booster’s “General” module (in “WooCommerce > Settings > Booster > Emails & Misc. > General”) and enabling “Recalculate Cart Totals on Every Page Load” checkbox there.

      Best regards,
      Rokas – Support Team

  21. ilopez January 2, 2019 at 6:44 pm #


    I’m trying to change currencies just in ‘wp_loaded’ hook by this way:

    $class_instance = new WCJ_Multicurrency();
    $class_instance ->init();
    $class_instance->change_currency_code( ‘EUR’ );
    $class_instance->get_current_currency_code( ‘EUR’ );

    but if at this point this $class_instance->get_current_currency_code() returns ‘USD’ at any way.

    what i’m doing wrong?


    Reply to thread