Niet alle velden die WooCommerce vraagt zijn ook daadwerkelijk wenselijk of nuttig om in te vullen. Want wat doen we in Nederland met een tweede adresregel, of waarom zouden we hier ‘staat’ in willen vullen?
En wanneer jij niets hoeft op te sturen, waarom zou je jouw klant vermoeien met het invullen van een compleet adres?
Nu zijn er talloze plugins voor WooCommerce om velden in de checkout te beheren: Zowel om toe te voegen als te verwijderen, maar zo’n plugin is eigenlijk een enorme overkill. Met een heel eenvoudige code snippet can je zelf aangeven welke van de standaard velden je eigenlijk niet wilt zien.
<?php
add_filter( 'woocommerce_checkout_fields' , 'wxp_remove_woo_checkout_fields' );
function wxp_remove_woo_checkout_fields( $fields ) {
/*
Verwijder de velden van 'factuur adres'
De regels die je niet wilt verwijderen,
moet je uit onderstaande code weghalen of uitcommentariseren
*/
unset($fields['billing']['billing_first_name']);
unset($fields['billing']['billing_last_name']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_phone']);
unset($fields['billing']['billing_email']);
/*
Verwijder de velden van 'verzend adres'
De regels die je niet wilt verwijderen,
moet je uit onderstaande code weghalen of uitcommentariseren
*/
unset($fields['shipping']['shipping_first_name']);
unset($fields['shipping']['shipping_last_name']);
unset($fields['shipping']['shipping_company']);
unset($fields['shipping']['shipping_address_1']);
unset($fields['shipping']['shipping_address_2']);
unset($fields['shipping']['shipping_city']);
unset($fields['shipping']['shipping_postcode']);
unset($fields['shipping']['shipping_country']);
unset($fields['shipping']['shipping_state']);
/* Verwijder het veld met bestelnotities,
wil je dit veld laten staan, moet je onderstaande regel verwijderen
of uitcommentariseren.
*/
unset($fields['order']['order_comments']);
return $fields;
}
Wanneer je deze code zomaar aan je snippet file zou toevoegen zouden alle velden op het formulier verdwijnen. Dat willen we dus niet.
Wat de bedoeling is, is dat je alle regels die je wel wilt zien uit bovenstaande code verwijderd, of wegcommentariseerd. Wegcommentariseren kan je simpel doen door // voor de regel te zetten. Dus :
// unset($fields['billing']['billing_first_name']);
// unset($fields['billing']['billing_last_name']);
Zorgt ervoor dat de velden ‘Voornaam’ en ‘Achternaam’ van het verzendadres wel zichtbaar blijven.