Change the default state and country on the checkout

Share Now

Share on facebook
Share on pinterest
Share on twitter
Share on linkedin
Share on email

# 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)
}
Nahid Mahamud

Nahid Mahamud

Web Developer | Graphic Designer | WordPress & Woo-commerce Expert