This challenging task (yet very simple at the end) was requested by one of my US clients. As they trade in the USA only, they wanted to force “numbers only” in the ZIP input field, so that letters would not be allowed. And WooCommerce doesn’t do this out of the box.
So, let’s fix this – enjoy!
PHP Snippet: Change ZIP Field to Input Type = Number @ WooCommerce Checkout
/** * @snippet Change a Checkout Field Input Type * @how-to businessbloomer.com/woocommerce-customization * @author Rodolfo Melogli, Business Bloomer * @compatible WooCommerce 8 * @community Join https://businessbloomer.com/club/ */ add_filter( 'woocommerce_checkout_fields', 'bbloomer_checkout_field_type', 9999 ); function bbloomer_checkout_field_type( $fields ) { $fields['billing']['billing_postcode']['type'] = 'number'; $fields['shipping']['shipping_postcode']['type'] = 'number'; return $fields; }
not working for the last version of woocommerce
Thank you! Try now
Hey, amazing work!
I want to make it required that numbers AND letters are written. So, I change
“number” with? Thank you so much.
“text”
You can also edit form type by edit forn field array on form-edit-address.php
Of course – however it’s not a great idea to override WooCommerce templates π
hi, its a great solution! itΒ΄s works for me very well.
Now i need the billing_first_name only you can type letters, numbers not.
How can i do thath!
regards!
Mauricio, thanks so much for your comment! Yes, this is possible – but unfortunately this is custom work and I cannot provide a complementary solution here via the blog comments. Thanks a lot for your understanding! ~R