Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
WooCommerce - Make "state" field not required on checkout page
* WooCommerce Extra Feature
* --------------------------
* Make "state" field not required on checkout
add_filter( 'woocommerce_billing_fields', 'woo_filter_state_billing', 10, 1 );
add_filter( 'woocommerce_shipping_fields', 'woo_filter_state_shipping', 10, 1 );
function woo_filter_state_billing( $address_fields ) {
$address_fields['billing_state']['required'] = false;
return $address_fields;
function woo_filter_state_shipping( $address_fields ) {
$address_fields['shipping_state']['required'] = false;
return $address_fields;

This comment has been minimized.

Copy link

bogdanvoi commented Dec 31, 2017


I want to make state/province a required field so I tried to set billing_state and shipping_state to true but it doesn't work.
I have billing & shipping state not 2 forms : one for shipping and one for billing.

Can you guide me how to do it? If state/province is not a required field, it will not calculate the shipping fee correctly. I have one shipping fee for local and one for province. If the state/province is not filled (is not a required filed right now) it will give me the higher province rate not the local one.



This comment has been minimized.

Copy link

RobertMPop commented Sep 1, 2018

bogdanvoi, I have the same issue. Did you find a solution?

It's strange, because people say that the State field should be "required" by default since 3.3.5 version of Woocommerce.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.