Solicitar dos veces la contraseña en el Checkout

Solicitar dos veces la contraseña en el Checkout

¿Qué es un Snippet y para que sirve?

Un Snippet es un fragmento de código que aporta ciertas funciones a tu web sin la necesidad de instalar un plugin para ello.

La forma mas sencilla de añadir ese fragmento de código en tu web (hay varias) es usando el mega conocido plugin Code Snippets.

¿Cómo se instala Code Snippets?

Desde el repositorio de WodrPress busca «Code Snippets», lo instalas y lo activas.

¿Cómo se añade un fragmento de código?

Busca en el menú de tu backoffice «Fragmentos de código» con el icono de unas tijeras, y clica en Añadir nuevo, pones un título y pegas el snippet que de dejo en este tutorial.

Desde los ajustes de Woocommerce tienes varias opciones para crear la cuenta de usuario a tus clientes una vez hacen un pedido.

¿Porque crear una cuenta de usuario a tu cliente?

Aunque no es algo obligatorio, si es muy recomendable tanto para ti que gestionas la tienda online como para tu cliente.

Ambos tendréis un registro de los pedidos o suscripciones, y un espacio donde mostrar las compras, las facturas, etc. Por ello es tan importante crear esa cuenta de cliente (por defecto con el rol de «Customer» o cliente).

Opciones que te da Woocommerce para crear la cuenta de cliente

Lo ideal siempre que el cliente va a hacer un pedido es minimizar las fricciones en la medida de lo posible, así que es preferible pedir sólo el correo electrónico que pedir el correo, crear una contraseña…

En ese caso, deberías escoger la opción «Enviar enlace de configuración de contraseña» en Woocommerce / Ajustes / Cuentas y privacidad para que se cree la cuenta y que el cliente pueda modificar en el futuro su contraseña desde un correo que recibe al crear su cuenta.

El problema es que, aunque facilitemos el proceso de creación de la cuenta, la próxima vez que nuestro cliente quiera acceder, se encontrará perdido porque realmente no conoce su contraseña ya que aún no se ha creado.

Cada Ecommerce es distinto

Aunque pedir la contraseña a tu cliente es un paso más en el proceso, también da la sensación de que el proceso es mas fiable, ya que el cliente lo decide todo… Tu escoges.

Si finalmente decides solicitar la contraseña a tu cliente directamente en el checkout, debes dejar desmarcada la opción «Enviar enlace de configuración de contraseña«

Pero esto genera un pequeño problema, tu cliente podría equivocarse al escribir la contraseña.

Solicitar dos veces la contraseña en el Checkout

En este caso, pedir dos veces la contraseña (y que coincidan) da un plus de confianza y seguridad, pero esa opción no la tiene por defecto Woocommerce, así que la vamos a implementar con un simple código:

				
					/* Crea el campo de validación de contraseña en la página finalizar compra */
function wc_checkout_confirm_password_validation( $checkout ) {
if ( get_option( 'woocommerce_registration_generate_password' ) == 'no' ) {
$fields = $checkout->get_checkout_fields();
$fields['account']['account_confirm_password'] = array(
'type' => 'password',
'label' => __( 'Repite la contraseña', 'woocommerce' ),
'required' => true,
'placeholder' => _x( 'Contraseña', 'placeholder', 'woocommerce' )
);
$checkout->__set( 'checkout_fields', $fields );
}
}
add_action( 'woocommerce_checkout_init', 'wc_checkout_confirm_password_validation', 10, 1 );
/* Define el mensaje de error de validación y valida la contraseña en la página de finalización de compra */
function wc_checkout_password_validation( $posted ) {
$checkout = WC()->checkout;
if ( ! is_user_logged_in() && ( $checkout->must_create_account || ! empty( $posted['createaccount'] ) ) ) {
if ( strcmp( $posted['account_password'], $posted['account_confirm_password'] ) !== 0 ) {
wc_add_notice( __( 'Las contraseñas no coinciden.', 'woocommerce' ), 'error' ); 
}
}
}
add_action( 'woocommerce_after_checkout_validation', 'wc_checkout_password_validation', 10, 2 );
				
			

¿Cómo se muestra dos veces la contraseña en el Checkout?

Una vez insertado el código usando Code Snippets, tu checkout mostrará el campo de contraseña por duplicado tal como se muestra en la imágen:

Recuerda que para insertar el fragmento de código, te recomiendo usar Code Snippets.

Comparte en tus Redes Sociales

Facebook
Pinterest
Twitter
LinkedIn