Afegiu el camp "Confirmar correu electrònic" a WooCommerce Checkout - Sense connector

Comparteix aquesta publicació:

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:

  1. No reben el correu electrònic de confirmació ni les dades d'enviament
  2. No es pot tornar a iniciar la sessió al seu compte per comprovar els detalls
  3. 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

Si no esteu familiaritzat amb els fragments, comproveu el meu guia per a principiants de WordPress Hooks.

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.

💡 Obteniu la meva guia de SEO GRATUÏTA avui!

Registra't a la meva llista de correu i aconsegueix una còpia gratuïta del meu llibre electrònic "Els 5 millors consells de SEO per escriure publicacions i pàgines de WordPress"

No fem correu brossa! Llegeix més al nostre política de privacitat

L'article Afegiu el camp "Confirmar correu electrònic" a WooCommerce Checkout - Sense connector va aparèixer per primera vegada woosimon.com

Comparteix aquesta publicació:

Desplaça cap amunt