Add country selection drop-down list to WooCommerce shop frontend


[wcj_country_select_drop_down_list] shortcode adds country selection drop-down list to WooCommerce shop frontend, so customer can manually select country and, e.g., change currency/price.

You can limit listed countries, use this example options for shortcode: countries="US,GB,DE".

Accessible through:
  • [wcj_country_select_drop_down_list]
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. Anthony July 11, 2015 at 11:42 pm #

    Is it possible to edit this list to remove the countries I have not set up currency conversion for?

    Reply to thread

    • Valentin Solovjov September 16, 2015 at 7:30 pm #

      Dear Anthony,

      from what page/list you want to remove country list?


  2. whoaloic November 16, 2015 at 1:10 pm #

    is it possible to get currencies instead of countries?

    Best regards.

    Reply to thread

  3. Val January 11, 2016 at 9:25 pm #

    I tried using your [wcj_country_select_drop_down_list] shortcode on registration page but it did not capture the full css dropdown box parameters (I am using Jobify with Woocommerce & Woocommerce registration page).
    There were no title, no arrow on the right end of the box to open the box, no placeholder and the padding was not matching the other default fields.
    How can I achive matching the default css with your shortcode ?

    Reply to thread

  4. Layth August 27, 2016 at 11:04 pm #

    I wonder where we can find all the arguments / options supported by each or all shortcodes …. i mean i have to look through each shortcode to find new argument. Here they show the countries=”US,PL” option to limit number of currencies…. but that only shows a drop down with no text to explain to customer what it is for ….
    before= "Change currency"]

    before arrg does that … u can use before or after …
    i am sure there are many more arguments out there … are they all documented on some page as they are not documented in the specific shortcode page

    Reply to thread

  5. Salehe Abdallah January 5, 2017 at 9:58 am #

    I want to use shortcode [wcj_country_select_drop_down_list] but you said use this shortcode and you did not tell where I should put this code so that to get the result. thanx please help

    Reply to thread

  6. Salehe Abdallah January 5, 2017 at 10:01 am #

    I repeat this comment because I misspelled my website address. I want to use shortcode [wcj_country_select_drop_down_list] but you said use this shortcode and you did not tell where I should put this code so that to get the result. thanx please help

    Reply to thread

  7. James February 27, 2017 at 7:21 am #

    I seem to have a slight problem with the width setting of the country select drop-down box. The ends of the longer country names are being cut off, for example “United Kingdo” rather than “United Kingdom (UK)” and “United States” rather than “United States (US)”. For the UK example, the drop-down box width is being set by element css at 146px whereas it actually needs 186px to display fully.

    I’m guessing the width is being set as an element attribute so that it can be varied according to the length of the selected country name, is that right? If so, could you check the widths set for the longer country names (e.g. US, UK, Rep of Ireland, etc) please? It is only the small box showing the selected currency that seems to have the wrong width. When you click the arrow to expand the drop-down box, the expanded selection it sized correctly according to the longest name in the list.

    Thanks, James

    Reply to thread

    • James February 27, 2017 at 7:39 am #

      I have temporarily fixed this with a css override. Not pretty or ideal, but does the job for now!

      .wSelect-theme-classic.wSelect {
      width: 190px !important

      For me, I don’t really want the widget to resize depending upon which country name is selected. I would prefer it to have its width set automatically based on the longest country name in the list, irrespective of which country name is actually selected at the time. Does that make sense?

      Is there any way that we could neaten up the box by combining all the European Union countries that use the Euro into a single drop-down selection option such as “Europe” or “Euro Zone”? It’s a bit cluttered to have a long list of France, Germany, Belgium, etc, etc, when all we really want to be able to select is that it is a country using the Euro.

    • James April 14, 2017 at 7:30 am #

      Really need to be able to combine all the countries using the Euro into a single “Europe” or “Eurozone” country please. The drop down list is far too lengthy with each individual European country added seperately, making it cluttered and confusing. A single “Europe (EUR)” selection for all European countries using the Euro would be so much easier and neater. Any chnace please?

      Thanks, James

  8. awag September 18, 2017 at 10:38 am #

    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 country drop down switcher but when selecting another country, the page refresh but nothing is happening unfortunately.
    In fact I guess I need to link this drop down to the billing country of the customer
    any idea please ?

    Reply to thread

  9. Stefan February 10, 2018 at 6:37 am #

    this feature is very useful. i want to build some additional logic based on the users country. is there a way to get the current selected country? A PHP function or do i have to search for cookie values …

    Reply to thread

  10. Fraser Smith October 17, 2018 at 10:04 am #

    Hi, Which module do I need to enable to activate this field?

    I’m trying to add country selection to the product page, so shipping is calculated before anything is added to cart.

    I’ve added “echo do_shortcode(“[wcj_country_select_drop_down_list]“);” where I need the field to appear in my template, and the dropdown is correctly displaying, but it doesn’t update shipping country when I select an option.

    Reply to thread

  11. KoolPal February 2, 2019 at 9:03 am #


    Is there any way to use the existing select2 script to make this country selection easier for the customer?

    In case you will require some time to update the plugin, is there any interim code snippet you can share?


    Reply to thread