Huisnummer verplichten in WooCommerce

Huisnummer verplichten in WooCommerce

Krijg je op jouw WooCommerce webshop bestellingen binnen zonder dat het huisnummer is ingevuld? Mensen vergeten dit gek genoeg vaker dan je denkt.

Helaas heeft WooCommerce ook geen controle of er een huisnummer is ingevuld, waardoor bestellingen zonder huisnummer er gewoon doorheen kunnen komen.

Super vervelend natuurlijk, want nu moet jij weer achter de klant aan om te achterhalen op welk huisnummer het pakketje bezorgd moet worden.

Om dit te voorkomen is het dus zaak om te zorgen dat WooCommerce controleert of het huisnummer is ingevuld en het huisnummer dus eigenlijk gewoon verplicht is om in te voeren.

Bepaalde thema’s hebben dit standaard al ingebouwd zitten en hebben er soms zelfs een apart vakje voor, maar de meeste thema’s hebben dit niet.

In dit artikel laat ik je een twee handige mogelijkheden zien om ervoor te zorgen dat mensen altijd het huisnummer invullen.

Huisnummer verplichten in het adresveld in WooCommerce

De eenvoudigste en snelste methode die ik altijd gebruik, is eigenlijk gewoon simpelweg ervoor zorgen dat het huisnummer verplicht moet worden ingevuld in het adresveld.

Ik gebruik hiervoor een snippet die je in het functions.php-bestand van je thema moet toevoegen. Wil je liever niet in bestanden van je thema aan de gang? Je kunt ook de plugin My Custom Functions inschakelen en deze code hieraan toevoegen.

om het huisnummer te verplichten en WooCommerce te laten controleren of het ingevuld is, kun je de volgende code 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( __('Om je pakketje te bezorgen hebben we ook je huisnummer nodig. Voeg deze toe in het adresveld.'), 'error' );
			else
				$woocommerce->add_error( __('Om je pakketje te bezorgen hebben we ook je huisnummer nodig. Voeg deze toe 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( __('Om je pakketje te bezorgen hebben we ook je huisnummer nodig. Voeg deze toe in het adresveld.'), 'error' );
				else
					$woocommerce->add_error( __('Om je pakketje te bezorgen hebben we ook je huisnummer nodig. Voeg deze toe in het adresveld.') );
			}
		}
    }
}

Zodra mensen nu vergeten een huisnummer in te voeren in het adresveld, komt de volgende melding tevoorschijn en kan er nog niet afgerekend worden.

WooCommerce huisnummer vergeten melding

Iedereen wilt zijn of haar pakketje ontvangen toch? Om dit voor elkaar te krijgen weten de klanten van je webshop meteen wat er vergeten is en hoe dit is op te lossen.

WooCommerce huisnummerveld toevoegen en verplichten

Sommige thema’s hebben het huisnummer veld al apart op de afrekenpagina staan, maar heel veel thema’s hebben dit niet. Wanneer je een apart veld wilt hebben waar klanten een huisnummer kunnen invullen tijdens het afrekenproces, dan kun je extra velden toevoegen aan de afrekenpagina om dit te bereiken.

Je kunt hiervoor een plugin als Checkout Field Editor gebruiken. Wanneer je deze plugin geïnstalleerd hebt kun je naar “WooCommerce -> Checkout Fields” gaan en op “Add fields” klikken.

Vul nu de juiste gegevens in en plaats het adresveld links en het huisnummer rechts, zoals je ook hieronder op de afbeelding kunt zien.

WooCommerce huisnummer veld toevoegen

Meer werk is het niet om het huisnummer in een apart veld te krijgen en te verplichten. Dankzij het aparte veld voor het huisnummer zijn mensen van zichzelf al minder snel geneigd om het ook te vergeten.

20 reacties

  1. Geweldig, wederom een goede toevoeging aan mijn webshop.
    Is er ook een dergelijke code om het e-mail adres te checken of een extra veld om twee dezelfde e-mail adressen in te vullen. Dit is in mijn shop de meest voorkomende fout.
    Groet
    Karel

  2. Hoi Maikel,
    Het is gelukt met de code snippet aan functions.php toe te voegen. Waarvoor dank!
    Echter, de foutmelding is niet in zicht omdat ik een sticky header heb, daar ligt hij dan onder en aangezien ook het veld Straat en huisnummer niet gehighlight wordt krijgt klant nu geen feedback wat hij fout heeft gedaan.

  3. Beste,
    Ik herken eerder genoemde problemen van Martin en Hein. Met een extra huisnummerveld krijgen de klant en ik vervolgens in ongeveer deze vorm de informatie binnen:

    “HUISNUMMER: 9
    FACTUURADRES:
    Pietje Puk
    Voorbeeldlaan
    1234 AB Amsterdam”

    Heel lelijk en onprofessioneel. Hoe dit gebeurt is nergens te vinden?

  4. Straat apart van huisnummer is een goede oplossing, maar ik kom ook vaak een huisnummertoevoeging tegen. Is daar een oplossing voor?

  5. Met de checkout field editor pro plugin (GPL) kun je een eigen regex validatie methode toevoegen en toepassen op een bepaald veld, dit werkt prima met jouw regex /([0-9]+)/Uis
    Dus eventueel nog een extra methode.

  6. Beste Maikel,

    Bij mij komt het huisnummer wel in de bevesting v.d. aankoop die ik ontvang, maar in de bevestigingsmail die de klant krijgt, ontbreekt het huisnummer. Daardoor denkt de klant dat hij het vergeten is in te vullen, wat niet zo is. Hoe komt dat en kan ik het oplossen?

    Met vr gr, Marijn

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *