Agregue el campo "Confirmar correo electrónico" al pago de WooCommerce: sin complemento

Compartir esta publicacion:

Los siguientes fragmentos de WooCommerce le permitirán:

  • Agregue un campo de confirmación de correo electrónico adicional al proceso de pago de WooCommerce
  • Verifique el correo electrónico ingresado con el correo electrónico de facturación ingresado
  • Mostrar una advertencia y evitar el pago si los dos no coinciden
  • Ocultar este campo si el usuario ha iniciado sesión

¿Por qué agregar un correo electrónico de confirmación presentado al proceso de pago de WooCommerce?

he estado ejecutando el Granjas de pasto verde sitio web durante muchos años, y usted se sorprenderá de la cantidad de personas que escriben mal la información en el proceso de pago.

Un porcentaje importante comete errores en sus direcciones de correo electrónico, lo que supone que:

  1. No reciben su correo electrónico de confirmación ni los detalles de envío.
  2. No puedo volver a iniciar sesión en su cuenta para verificar los detalles
  3. No recibir ninguna comunicación importante por correo electrónico sobre su pedido.

Estos factores anteriores pueden hacer que el cliente crea que no ha realizado un pedido o que ha sido defraudado.

También puede hacer que sea imposible ponerse en contacto con los clientes sobre problemas: ¡más de un cliente ha ingresado su correo electrónico, número de teléfono y dirección incorrectamente!

Cómo agregar un campo "Confirmar correo electrónico" al pago de WooCommerce sin un complemento

Importante

Si no está familiarizado con los fragmentos, consulte mi Guía para principiantes de ganchos de WordPress.

punta de sombrero para Florero de negocios donde encontré por primera vez un fragmento para implementar el campo adicional de confirmación por correo electrónico.

Si bien el fragmento original funcionó, también descubrí que tenía algunos problemas, así que lo revisé e hice algunas mejoras pequeñas pero significativas, como:

  • El fragmento original muestra los campos todo el tiempo, lo que obliga a los usuarios registrados a repetir su correo electrónico dos veces cada vez que realizan un pedido, lo cual es innecesario e inconveniente. El nuevo fragmento oculta ambos campos de correo electrónico para los usuarios que han iniciado sesión.
  • El fragmento original no establecía el nuevo tipo de campo como "Correo electrónico" y distinguía entre mayúsculas y minúsculas. De forma predeterminada, el correo electrónico de facturación no estaba en mayúscula, mientras que el segundo campo sí lo estaba. Esto lleva a que muchas personas no superen la validación y no entiendan por qué. Agregué 'tipo' => 'correo electrónico' para evitar la autocapitalización y, por si acaso, hice que la comparación de correo electrónico no distinga entre mayúsculas y minúsculas.
/**
* @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' );
		}
	}
}

¡Y eso es!

Recuerde siempre revisar minuciosamente su sitio web después de agregar un fragmento e intente realizar algunos pedidos de prueba como cliente registrado, invitado y cliente nuevo para asegurarse de que todo funcione como se esperaba.

💡 ¡Obtenga mi guía de SEO GRATIS hoy!

Regístrese en mi lista de correo y obtenga una copia gratuita de mi libro electrónico "Los 5 mejores consejos de SEO para escribir publicaciones y páginas de WordPress"

¡No hacemos spam! Lea más en nuestro política de privacidad

El artículo Agregue el campo "Confirmar correo electrónico" al pago de WooCommerce: sin complemento apareció por primera vez en woosimon.com

Compartir esta publicacion:

Scroll al inicio