Skip to content

Instantly share code, notes, and snippets.

@mikejolley
Created June 22, 2012 18:13
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save mikejolley/2974310 to your computer and use it in GitHub Desktop.
Save mikejolley/2974310 to your computer and use it in GitHub Desktop.
WooCommerce - Set default state/country for checkout
/**
* Manipulate default state and countries
*
* As always, code goes in your theme functions.php file
*/
add_filter( 'default_checkout_country', 'change_default_checkout_country' );
add_filter( 'default_checkout_state', 'change_default_checkout_state' );
function change_default_checkout_country() {
return 'XX'; // country code
}
function change_default_checkout_state() {
return 'XX'; // state code
}
@gizburdt
Copy link

This does't work for me. I'm using this piece of code:

add_filter( 'default_checkout_country', 'mhxl_default_checkout_country' );
function mhxl_default_checkout_country()
{
return 'NL';
}

@point4design
Copy link

This doesn't work for me either. Here is the code I'm using:

add_filter( 'default_checkout_country', 'change_default_checkout_country' );

function change_default_checkout_country() {
return 'US'; // country code
}

Please help

Copy link

ghost commented Oct 25, 2012

Not working here either with:

add_filter( 'default_checkout_country', 'change_default_checkout_country' );

function change_default_checkout_country() {
return 'GB'; //country code
}

@mattowc
Copy link

mattowc commented Oct 26, 2012

Possible solution for those having an issue above. If you are logged into WordPress, WooCommerce will set the default country and state to what is available from your profile. If they are not set, it will ask you to choose one. Either fill out your profile details or logout and you will see the correct default country.

  • Jon

@jmbullis
Copy link

jmbullis commented Mar 3, 2013

Thanks mattowc. I checked in a different different browser and it was working just fine.

@gypsydo
Copy link

gypsydo commented Feb 10, 2014

"Possible solution for those having an issue above. If you are logged into WordPress, WooCommerce will set the default country and state to what is available from your profile. If they are not set, it will ask you to choose one. Either fill out your profile details or logout and you will see the correct default country."

I am still having the issue of a logged-in user not having the country auto-populated, even though their profile shows that they have a country selected. Advice?

@WilCF
Copy link

WilCF commented Feb 12, 2014

This does not work for me - people can only get shipped to Washington, state, our base state - are there any caches we/they need to clear? Browsers they can not use, etc.?

@matteoraggi
Copy link

Great! It works with woocommerce 2.4.7!
I added the default city with this snippet too:
add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );

function custom_override_default_address_fields( $address_fields ) {
$address_fields['city']['placeholder'] = 'Gorizia';
return $address_fields;
}

@aibidubey
Copy link

Great its Working :)

@sibiant
Copy link

sibiant commented Apr 27, 2017

Is there anyway to replace 'Select an option' with a state name from woocommerce checkout page (billing_state field). Also needed to show other STATES when click the select box.

(I wanted to set a default state in checkout form and other states will only when click the drop down select box.)

@stoasis
Copy link

stoasis commented Oct 20, 2022

Anyway we get the location based on geolocation?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment