blog webempresa

Añadir campo de confirmación de contraseña en el registro de WooCommerce

por | Ago 31, 2022 | Tutoriales sobre WooCommerce

Añadir campo de confirmación de contraseña en el registro de WooCommerce

  Introducción


Cuando un usuario se registra en un nuevo sitio web ya sea una tienda u otro tipo de sistema el error más común que suelen presentar al crear su cuenta es ingresar de forma incorrecta la contraseña que deseas tener o simplemente olvidarla con el paso del tiempo, es por ello que una de las mejores formas de minimizar este tipo de errores al usuario es solicitar la confirmación de la contraseña que está ingresando a la hora de crear su cuenta, de esta forma el usuario estará seguro de la contraseña que ingresa y tiene menos posibilidad de olvidarla.

Sin embargo, este tipo de opciones no están incluidas por defecto en la funcionalidad nativa de WooCommerce, pero no te preocupes podemos añadir esta opción a través de un código en function.php de nuestro tema de forma muy sencilla.

En este artículo veremos qué código podemos utilizar para añadir esta característica en nuestro sitio web.

 Añadiendo el código en el function.php


Como lo mencionamos anteriormente esta funcionalidad podemos añadirla incorporando un código en el function.php de nuestro tema de forma que se pueda mostrar el campo adicional en el formulario de registro de nuestra tienda.

  Antes de continuar evalúa incorporar cualquier código adicional en un tema hijo, de esta forma cuando actualices tu tema ningún cambio se perderá, si deseas revisar como puedes crear un tema hijo échale un vistazo al siguiente artículo: Crear temas hijo (child themes) en WordPress

Para ello lo primero que tenemos que hacer es ingresar a nuestra cuenta de wePanel y acceder a la ruta de public_html  Carpeta de tu sitio web  themes  tu tema y editar el archivo function.php

Una vez tenemos identificado el archivo function.php de nuestro tema y seleccionamos la opción de editar solo necesitamos pegar el siguiente código en tu archivo bajo del todo.

  Ten en cuenta realizar una copia de seguridad antes de realizar cualquier cambio que implique un código adicional o modificaciones en nuestros archivos, para revisar algunas opciones puedes darle un vistazo al siguiente artículo Cómo crear una copia de seguridad en WordPress

/*
** Crea el campo de validación de contraseña en la página de registro
*/

function wc_register_form_password_validation() {
    if ( get_option( 'woocommerce_registration_generate_password' ) == 'no' ) {
	?>
	<p class="form-row form-row-wide">
		<label for="reg_password2"><?php _e( 'Repite la contraseña', 'woocommerce' ); ?> <span class="required">*</span></label>
		<input class="woocommerce-Input woocommerce-Input--text input-text" type="password" class="input-text" name="password2" id="reg_password2" autocomplete="current-password" />
	</p>
	<?php
    }
}
add_action( 'woocommerce_register_form', 'wc_register_form_password_validation' );

/*
** Valida las contraseñas y define el mensaje de error de validación en la página de registro
*/

function register_password_validation($reg_errors, $sanitized_user_login, $user_email) {
	global $woocommerce;
	extract( $_POST );
	if ( strcmp( $password, $password2 ) !== 0 ) {
		return new WP_Error( 'registration-error', __( 'Las dos contraseñas no coinciden.', 'woocommerce' ) );
	}
	return $reg_errors;
}
add_filter('woocommerce_registration_errors', 'register_password_validation', 10,3);


De esta forma ya tendremos un nuevo campo para solicitar al usuario confirme la contraseña ingresada, si estas no son iguales el código se encarga de validarlo y mostrarle un mensaje al usuario indicando tiene un error.

El resultado si se intenta ingresar contraseñas que no coinciden es el siguiente.

¿Hasta ahora todo muy bien ya tenemos incorporado el campo de confirmación en nuestro formulario de registro en WooCommerce, pero que sucede si necesitamos incorporar esta opción directamente en los campos de registro dentro del formulario de pago?

 Cómo añadir el campo de confirmación de contraseña en el formulario de pago en WooCommerce.


Una vez ya comprobamos nuestro campo está funcionando de forma correcta en nuestro formulario de registro lo siguiente será añadir esta misma opción dentro del formulario de pago, de esta forma podremos añadir esta característica a usuarios que antes no se hayan registrado en nuestra tienda.

Antes que nada lo primero es confirmar como tenemos los ajustes dentro de las cuentas en WooCommerce, en este caso necesitamos asegurarnos de no tener activa la opción de crear contraseña automáticamente para las cuentas que se crean.

Para ello accede a WooCommerce  Ajustes  Cuentas y privacidad, y comprueba tienes esta casilla desactivada.

Luego de asegurarnos tenemos esta opción desactivar solo tenemos que añadir el siguiente código en el function.php de tu tema como lo realizamos en el paso anterior.


/*
* 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 dos contraseñas no coinciden.', 'woocommerce' ), 'error' ); 
        }
    }
}
add_action( 'woocommerce_after_checkout_validation', 'wc_checkout_password_validation', 10, 2 );

Con este código cuando el usuario esté finalizando su pago le solicitará repetir la contraseña que está ingresando en el formulario de pago.

  Conclusión


Añadir características adicionales a nuestra tienda o sitio web es muy sencillo solo hará falta añadir ya sea un plugin o algun código adicional que nos permita incorporar la funcionalidad que estamos buscando añadir.

Si deseas conocer más sobre todas las opciones que puedes añadir dentro de una tienda en WooCommerce puedes revisar algunos de nuestros artículos publicados.

¿Te ha resultado útil este artículo?

Video tutorial, paso a paso y demo del editor de contenidos

 

La verdad es que este creador de webs con IA me tiene algo enamorado, y aquí te envío un vídeo de cómo es “por dentro”, para terminar de convencerte y animarte a que lo utilices.

Durante el vídeo voy a:

  • Configurar la web desde cero, con el asistente (que hemos visto en el apartado anterior).
  • Añadir información sobre mi web (una web para un restaurante vegano en madrid, especializado en verduras de la huerta).
  • Ver el resultado y explorar las características principales de WeBuilder en cuanto a configuración y posibilidades generales.

Ten en cuenta que este vídeo no es un curso completo sobre la herramienta, es un recorrido por encima para que te hagas una idea de las posibilidades que tiene.

 

 

 

Conclusión

Crear una web con IA y WeBuilder te permite centrarte en tu negocio o tu pasión, dejando la parte técnica en manos de algoritmos inteligentes. Ahorro de tiempo, costes reducidos y resultados profesionales son solo el comienzo.

  1. Define tu proyecto y palabras clave.
  2. Deja que la IA genere la estructura y contenido.
  3. Personaliza el diseño y las funcionalidades.
  4. Publica y mantén tu sitio siempre optimizado.
  5. Delega la parte técnica y las dudas al equipo de soporte de Webempresa.

Prueba WeBuilder hoy mismo y lleva tu proyecto a un nivel que no pensabas alcanzable hasta antes de leer este artículo, y todo gracias a la potencia de la inteligencia artificial en Webempresa.

¡Espero de todo corazón que este artículo te haya servido para darte un empujoncito a llevar a cabo esa puesta a punto de tu web o prueba de concepto de tu proyecto, y nos vemos en el siguiente artículo!

Promo hosting Webempresa julio 2025