# For existing USERS
/** * 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 }
#For Non-existing Users:
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:
/** * 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) }