Por defecto, el formulario de registro de WooCommerce solo pide el correo electrónico, pero ¿y si quieres pedir más datos para poder registrarse? ¿se puede?
Lo primero que debes tener en cuenta es que, también por defecto, la página de «Mi cuenta» de WooCommerce no permite el registro, así que primero deberás activar este ajuste de WooCommerce.
Una vez hayas comprobado que esté activo el ajuste, solo te queda decidir qué campo quieres añadir al formulario de registro de WooCommerce y crear una función como esta:
/* Campo extra en registro de WooCommerce */ add_action( 'woocommerce_register_form', 'ayudawp_nuevo_campo_registro_woo' ); function ayudawp_nuevo_campo_registro_woo(){ woocommerce_form_field( 'grupo_favorito', array( 'type' => 'text', 'required' => true, // esto añade un asterisco 'label' => '¿Cuál es tu grupo musical favorito?' ), ( isset($_POST['grupo_favorito']) ? $_POST['grupo_favorito'] : '' ) ); } //Añadimos validación del campo add_action( 'woocommerce_register_post', 'ayudawp_validar_campos', 10, 3 ); function ayudawp_validar_campos( $username, $email, $errors ) { if ( empty( $_POST['grupo_favorito'] ) ) { $errors->add( 'error_grupo_favorito', '¡En serio, queremos saberlo!' ); } } //Añadimos el campo a la base de datos add_action( 'woocommerce_created_customer', 'ayudawp_guardar_campos_registro' ); function ayudawp_guardar_campos_registro( $customer_id ){ if ( isset( $_POST['grupo_favorito'] ) ) { update_user_meta( $customer_id, 'grupo_favorito', wc_clean( $_POST['grupo_favorito'] ) ); } }
En el código anterior hacemos 3 cosas:
- Creamos un nuevo campo en el que pedimos al usuario que nos diga cuál es su grupo favorito. (
grupo_favorito
) y el texto visible. - Añadimos validación para mostrar un error si no se rellena el campo, haciéndolo obligatorio.
- Guardamos el valor en la base de datos.
O sea, esto:
Este código que hemos visto lo ideal es que lo añadas a un plugin de personalizaciones, o en su defecto al archivo functions.php
del tema hijo activo.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
saludo Fernando desde Venezuela, gracias por la info va de lujo, unas consultas:
como modifico el rol del usuario desde el formulario de registro en especifico (comprador /vendedor) Son los roles.
y lo otro si selecciona vendedor mostrar otro formulario
no me registra el usuario nuevo en la base de datos
Una consulta, como puedo colocar el campo en la primera posición, ya que quiero agregar un campo de nombre y apellido pero deseo que aparezca antes de todos los demás campos de registro (correo y contraseña). Gracias!
Tenía la misma duda y buscando logré encontrar la respuesta..
Solo cambia ‘woocommerce_register_form’ por ‘woocommerce_register_form_start’ y listo =)
hola fernando
estoy empezando un proyecto de una Ecomerce , todavia no he empezado de retocar el tema pero tengo el tema astra instalado con una plantilla , tengo el plugin de itheme secuity instalado y configurado , tambien he empezado a configurar woocomerce siguiendo las instrucciones venidas en el post pero el problema es que los ajustes en la pagina de finalizar compra no se reflejan no los estoy viendo solo sigue la pagina como viene por defecto, una nota en el itheme security solo soy yo el administrador no se si tengo que configurarlo tambien para que los clientes pueden crear cuentas y los demas ajusteS
SE AGRADECE DE ANTEMA LA AYUDA
MUCHAS GRACIAS
Pueden ser muchas cosas, sin ver la web imposible decirte algo 🙁
buenas noches Fernando
ante de todo le agradezco la atención todavía no he hecho nada en la web http://www.elsoko.com
esta con el tema Astra con una plantilla.
tengo capturas de pantallas no se como mandárselas, en la pestaña de cuentas y privacidad he escogido todas las opciones para poder elegir en el futuro la mejor (video en el canal side ground)
en los ajustes generals de WordPress tengo activada la opción de miembros cualquier puede registrarse el perfil por defecto es suscriptor.
espero dar un poco de pistas
muchas gracias
buenas noches Fernando
aquí le dejo unas capturas de pantalla espero que sirven