Woocommerce crea per noi un checkout già completo con numerosi input per raccogliere le informazioni dell'acquirente.
Molto spesso i campi che a noi servono non coincidono con quelli standard di Woocommerce. Ad esempio potrebbe essere che il campo "ragione sociale" non sia di nostro interesse oppure che dobbiamo aggiugere il campo partita iva e codice fiscale, come abbiamo già visto in questo articolo.
Per fare queste operazioni dobbiamo andare a metter mano al codice del nostro tema/plugin modificando e sovrascrivendo alcune funzioni di woocommerce.
Prima di compiere l'operazione dobbiamo sapere che Woocommerce divide i campi del checkout in 2 categorie:
- Quelli che riguardano i dati personali dell'acquirente che vengono definiti billing field.
- Quelli che riguardano i dati sulla spedizione che vengono definiti shipping field.
I Billing Field comprendono : nome, cognome, ragione sociale, indirizzo, città, codice postale, stato, email e telefono.
I Shipping Field comprendono: nome, cognome, ragione sociale, indirizzo, città, codice postale, stato. Solitamente questi campi vengono compilati solo se il destinatario dell'acquisto è differente dall'acquirente.
Di seguito il codice da aggiungere al file functions.php del nostro tema per aggiungere campi al checkout di woocommerce e per rimuovere i campi.
Come aggiungere campi nel checkout di Woocommerce
Il codice da inserire è il seguente:
add_filter( 'woocommerce_billing_fields' , 'add_billing_custom_field' );
function add_billing_custom_field( $fields ) {
$fields['custom_field'] = array(
'type' => 'text',
'label' => __('Custom Field', 'woocommerce'),
'placeholder' => _x('Custom Field', 'placeholder', 'woocommerce'),
'required' => true,
'class' => array('custom-class'),
'show' => true
);
return $fields;
}
In questo caso abbiamo aggiunto il campo alla sezione billing fields, nel caso volessimo aggiungerlo alla sezione shipping fields dobbiamo sostituire : woocommerce_billing_fields
con woocommerce_shipping_fields
.
Noi abbiamo inserito un campo testo nel caso volessimo altri tipi di campi possiamo sostituire il type con textarea, password o select.
Come rimuovere campi nel checkout di Woocommerce
Se vogliamo invece rimuovere i campi dal nostro checkout.
add_filter( 'woocommerce_billing_fields' , 'remove_billing_field' );
function remove_billing_field( $fields ) {
unset($fields['billing_company']);
return $fields;
}
In questo caso abbiamo eliminato il campo billing_company ovvero ragione sociale dal checkout di Woocommerce.
Se avete altre domanda su come aggiungere o rimuovere dei campi dal checkout di woocommerce commenteate pure qui sotto.
Commenti
Purtroppo woocommerce permette l'inserimento di input di tipo: text, textarea, password, select.
Quindi non di tipo data. La soluzione in questo caso è di aggiungere un campo di tipo testo aggiungendo una classe all'input per collegarlo al datepicker di jQuery.
Potresti farlo in questo modo: