Add the below code at the end of your theme’s functions.php file or you can also add the below code inside your site-specific plugin.
1 2 3 4 5 6 7 8 9 10 11 12 13 | /** * Change the default state and country on the checkout page */ add_filter( 'default_checkout_billing_country', 'change_default_checkout_country' ); add_filter( 'default_checkout_billing_state', 'change_default_checkout_state' ); function change_default_checkout_country() { return 'XX'; // country code } function change_default_checkout_state() { return 'XX'; // state code } |
Note that the default_checkout_billing_country filter affects both existing and non-existing users. If you want to only change the default for non-existing users, then you can use this:
1 2 3 4 5 6 7 8 9 10 11 12 13 | /** * Change the default country on the checkout for non-existing users only */ add_filter( 'default_checkout_billing_country', 'change_default_checkout_country', 10, 1 ); function change_default_checkout_country( $country ) { // If the user already exists, don't override country if ( WC()->customer->get_is_paying_customer() ) { return $country; } return 'DE'; // Override default to Germany (an example) } |
Reference: https://docs.woocommerce.com/document/change-the-default-state-and-country-on-the-checkout/
If you like this question & answer and want to contribute, then write your question & answer and email to freewebmentor[@]gmail.com. Your question and answer will appear on FreeWebMentor.com and help other developers.