Huisnummer Verplicht Maken in Woocommerce
Een vervelend onderdeel van WooCommerce is dat er niet standaard een mogelijkheid is om te zorgen dat er een apart huisnummer veld op de afrekenpagina komt.
Een aantal thema’s hebben dit wel ingebouwd zitten, maar over het algemeen zal je dit niet zien. Op zich geen probleem zou je denken, want mensen voeren dan toch wel in het straatveld ook een huisnummer in.
Helaas spreek ik uit ervaring als ik zeg dat lang niet iedereen dit doet en je er vervolgens zelf achteraan moet. Zeker niet ideaal dus, maar gelukkig is het probleem te tackelen.
Postcode.nl – WooCommerce Address Validation
Met Postcode.nl in combinatie met WooCommerce Address Validation kun je ervoor zorgen dat bezoekers een extra veld krijgen waar een postcode en huisnummer ingevuld kan worden.
De plugin zorgt er vervolgens voor dat via de postcode.nl API wordt gecontroleerd welke straatnaam erbij hoort en of het een bestaand adres is.
Om de plugin werkend te krijgen heb je een postcode.nl account nodig om een API key te genereren. Je kunt gratis een account maken op de website van postcode.nl.
Eenmaal een account kun je naar “WooCommerce -> Instellingen -> Address validation -> Postcode.nl” om de API keys in te vullen.
Zodra je het geactiveerd hebt krijg je het volgende te zien op je website:
Je maakt het op deze manier voor de bezoeker makkelijker om geen fout te maken tijdens het invullen van de gegevens en uiteindelijk bespaard het jezelf tijd.
Cijfers verplichten in het veld “Straat”
Een hele andere oplossing is door een snippet in het functions.php bestand van je WordPress thema te plaatsen om te valideren dat er een huisnummer is ingevuld.
Je kunt hiervoor de volgende snippet gebruiken:
add_action('woocommerce_checkout_process', 'custom_validation_process'); function custom_validation_process() { global $woocommerce; if(isset($_POST['billing_address_1']) and $_POST['billing_address_1'] != '') { if (!preg_match('/([0-9]+)/Uis', $_POST['billing_address_1'])) { if(function_exists('wc_add_notice')) wc_add_notice( __('Oops, vergeet niet je huisnummer in te vullen in het adresveld.'), 'error' ); else $woocommerce->add_error( __('Oops, vergeet niet je huisnummer in te vullen in het adresveld.') ); } } if(isset($_POST['ship_to_different_address'])) { if(isset($_POST['shipping_address_1']) and $_POST['shipping_address_1'] != '') { if (!preg_match('/([0-9]+)/Uis', $_POST['shipping_address_1'])) { if(function_exists('wc_add_notice')) wc_add_notice( __('Oops, vergeet niet je huisnummer in te vullen in het adresveld.'), 'error' ); else $woocommerce->add_error( __('Oops, vergeet niet je huisnummer in te vullen in het adresveld.') ); } } } }
Met deze snippet wordt puur gekeken of er een huisnummer is ingevuld in het adresveld. Is dit niet het geval, dan komt de volgende melding tevoorschijn.
Op deze manier is het voor de bezoeker meteen duidelijk wat hem of haar te doen staat om de bestelling wel te laten slagen.
Je kunt de twee oplossingen ook combineren, zodat je 100% zeker weet dat het ALTIJD goed gaat.
Super goede tip! Werkt als een trein!
Zorg wel dat je een child theme hebt anders worden je instellingen overgeschreven tijdens een update.
De snippet werkt uitstekend!
Bedankt voor de tip.
Werkt de snippet ook als je een adresveld hebt waar zowel straat als huisnummer in moeten staan? Of is dan een apart veld alleen voor huisnummer nodig?
Kan ik nu wel of niet gratis gebruik maken van postcode.nl.
Ik zie namelijk alleen maar betaalde oplossingen staan.
Niet. Zo te zien bestaat er geen gratis mogelijkheid meer om te registeren voor een API key.
Geweldig die snippet!
Bedankt van lekkerhoning.nl