Els fragments de WooCommerce següents us permetran:
- Afegiu un camp addicional de confirmació de correu electrònic a la compra de woocommerce
- Comproveu el correu electrònic introduït amb el correu electrònic de facturació introduït
- Mostra un avís i evita el pagament si els dos no coincideixen
- Amaga aquest camp si l'usuari ha iniciat sessió
Per què afegir un emils de confirmació arxivat a la compra de WooCommerce?
He estat executant el Granges de pastures verdes lloc web durant molts anys, i us sorprendrà la quantitat de persones que escriuen malament la informació a la caixa!
Un percentatge important comet errors a les seves adreces de correu electrònic, el que significa que:
- No reben el correu electrònic de confirmació ni les dades d'enviament
- No es pot tornar a iniciar la sessió al seu compte per comprovar els detalls
- No rebeu cap comunicació important per correu electrònic sobre la seva comanda
Aquests factors anteriors poden fer que el client cregui que no ha fet una comanda o que ha estat defraudat.
També pot fer que sigui impossible posar-se en contacte amb els clients sobre problemes: hem tingut més d'un client que ha introduït el seu correu electrònic, número de telèfon i adreça incorrectament!
Com afegir un camp "Confirmar correu electrònic" a la compra de WooCommerce sense un complement
Important
Punta de barret a Bloomer de negocis on vaig trobar per primera vegada un fragment per implementar el camp addicional de confirmació del correu electrònic.
Tot i que el fragment original funcionava, també vaig trobar que tenia alguns problemes, així que l'he revisat i he fet algunes millores petites però significatives, com ara:
- El fragment original mostra els camps tot el temps, obligant els usuaris connectats a repetir el seu correu electrònic dues vegades cada vegada que demanen, cosa que és innecessària i inconvenient. El nou fragment amaga els dos camps de correu electrònic per als usuaris que han iniciat sessió.
- El fragment original no va establir el tipus de camp nou com a "Correu electrònic" i distingia entre majúscules i minúscules. De manera predeterminada, el correu electrònic de facturació no estava en majúscula, mentre que el segon camp sí. Això fa que moltes persones fallin la validació i no entenguin per què. He afegit 'type' => 'correu electrònic' per evitar la majúscula automàtica i he fet que la comparació de correu electrònic no distingeix entre majúscules i minúscules per fer-ho.
/**
* @snippet Add "Confirm Email Address" Field @ WooCommerce Checkout
* @author Simon Whyatt
* @testedwith WooCommerce 8
* @community https://woosimon.com/
*/
// Modify email fields at checkout
add_filter( 'woocommerce_checkout_fields' , 'woosimon_customize_checkout_fields' );
function woosimon_customize_checkout_fields( $fields ) {
if ( is_user_logged_in() ) {
// Get the current user's data
$current_user = wp_get_current_user();
// Prefil and hide billing email:
$fields['billing']['billing_email']['type'] = 'hidden';
$fields['billing']['billing_email']['default'] = $current_user->user_email;
$fields['billing']['billing_email']['label'] = '';
} else {
// For non-logged in users, adjust email field and add verification field
$fields['billing']['billing_email']['class'] = array( 'form-row-first' );
$fields['billing']['billing_em_ver'] = array(
'label' => 'Confirm Email Address',
'required' => true,
'class' => array( 'form-row-last' ),
'clear' => true,
'priority' => 100,
'type' => 'email',
);
}
return $fields;
}
// ---------------------------------
// Generate error message if field values are different
add_action('woocommerce_checkout_process', 'woosimon_matching_email_addresses');
function woosimon_matching_email_addresses() {
if ( !is_user_logged_in() ) {
$email1 = strtolower($_POST['billing_email']);
$email2 = strtolower($_POST['billing_em_ver']);
if ( $email2 !== $email1 ) {
wc_add_notice( 'Your email addresses do not match - please double check for errors', 'error' );
}
}
}
I ja està!
Recordeu que sempre heu de revisar el vostre lloc web a fons després d'afegir un fragment i proveu de fer algunes comandes de prova tant com a client connectat, com a convidat i client nou per assegurar-vos que tot funciona com s'esperava.
L'article Afegiu el camp "Confirmar correu electrònic" a WooCommerce Checkout - Sense connector va aparèixer per primera vegada woosimon.com