Hai bisogno di un E-Commerce che funziona davvero?
Contattami Ora!Come aggiungere il campo “Conferma Email” al checkout di WooCommerce
Nel checkout di WooCommerce, un semplice errore nell’indirizzo email può tradursi in problemi con conferme d’ordine, notifiche e recuperi password.
Per questo motivo è buona pratica richiedere una conferma dell’email all’utente durante il checkout, proprio come accade nei form ben ottimizzati per l’user experience.
In questa guida ti mostro come:
- Aggiungere un secondo campo “Conferma Email”
- Confrontare i due indirizzi inseriti
- Mostrare un messaggio di errore se non coincidono
- Il tutto senza l’uso di plugin, solo con PHP
Snippet per aggiungere il campo “Conferma Email” al checkout WooCommerce
Per implementare il campo “Conferma Email” nel checkout e verificare che corrisponda al campo email principale, inserisci il seguente codice nel file functions.php del tuo tema child o in un plugin personalizzato:
// 1. Aggiunge il campo "Conferma Email" al checkout
add_filter( 'woocommerce_checkout_fields', 'aggiungi_campo_conferma_email_checkout' );
function aggiungi_campo_conferma_email_checkout( $fields ) {
$fields['billing']['billing_email_2'] = array(
'label' => 'Conferma indirizzo email',
'required' => true,
'clear' => true,
'priority' => 111, // Subito dopo il campo billing_email (default 110)
'type' => 'email',
'class' => array('form-row-wide'),
);
return $fields;
}
// 2. Valida che i due campi email coincidano
add_action( 'woocommerce_checkout_process', 'valida_campo_conferma_email_checkout' );
function valida_campo_conferma_email_checkout() {
$email = isset($_POST['billing_email']) ? sanitize_email($_POST['billing_email']) : '';
$email_2 = isset($_POST['billing_email_2']) ? sanitize_email($_POST['billing_email_2']) : '';
if ( $email !== $email_2 ) {
wc_add_notice( 'Gli indirizzi email non coincidono.', 'error' );
}
}
// 3. Salva il campo "Conferma Email" (opzionale)
add_action( 'woocommerce_checkout_update_order_meta', 'salva_email_confermata_meta' );
function salva_email_confermata_meta( $order_id ) {
if ( ! empty( $_POST['billing_email_2'] ) ) {
update_post_meta( $order_id, '_billing_email_2', sanitize_email( $_POST['billing_email_2'] ) );
}
}Cosa fa questo codice?
- Aggiunge un secondo campo email nel checkout, subito dopo quello standard.
- Controlla che i due valori siano identici.
- Impedisce il completamento dell’ordine se non coincidono.
- (Facoltativamente) salva il valore confermato nei metadati dell’ordine.

Importante: funziona solo con il checkout classico
Questo snippet è compatibile unicamente con il checkout standard di WooCommerce, basato su PHP e campi gestiti tramite l’hook woocommerce_checkout_fields.
❌ Non funziona con il nuovo sistema di Checkout a Blocchi (Blocks Checkout), introdotto da WooCommerce per siti che utilizzano l’editor a blocchi (Gutenberg).
✅ Se stai usando il checkout classico (quello predefinito nella maggior parte dei temi), questo codice è perfettamente funzionante.
Se utilizzi un checkout a blocchi, avrai bisogno di personalizzazioni JavaScript/React o di plugin compatibili con quel sistema.
Conclusione
Rimuovere le schede predefinite dalla pagina prodotto WooCommerce è un’operazione semplice ma strategica:
ti consente di personalizzare l’esperienza utente, semplificare il layout e dare maggiore spazio a contenuti visivi o blocchi personalizzati.
Con poche righe di codice puoi:
- Nascondere descrizione, recensioni e info aggiuntive
- Alleggerire la struttura della pagina
- Adattare WooCommerce alle esigenze del tuo business
Hai bisogno di aiuto per personalizzare WooCommerce?
Sono uno sviluppatore WordPress specializzato in eCommerce con WooCommerce. Se cerchi un professionista per:
- Creare un’esperienza utente su misura
- Personalizzare il checkout
- Ottimizzare il funnel di vendita
- Risolvere problemi tecnici
👉 Contattami oggi stesso per sviluppare il tuo sito WooCommerce su misura
📍 Servizio attivo a Genova e in tutta Italia
🔗 Scopri di più sul mio servizio di sviluppo e ottimizzazione di ecommerce con WooCommerce: