Create a gist now

Instantly share code, notes, and snippets.

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

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

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

@smfacer
smfacer 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
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
jmbullis commented Mar 3, 2013

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

@gypsydo
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
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

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

Great its Working :)

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