Soporte » WordPress Avanzado » como confirmar el password en plantilla personalizada

  • Resuelto raulbarroso26

    (@raulbarroso26)


    Saludos. estoy aprendiendo a desarrollar con wordpress sin plugin. y he logrado integrar a la plataforma wp una plantilla de intranet hecha en html5, junto con login y registro de usuario. al hacer login todo esta bien. tambien he logrado que el usuario se registre correctamente.

    el detalle esta en que no logro como hacer que el campo «confirme su contraseña» funcione. de a momento se registra pero solo con la contraseña ingresada en el campo «ingrese su contraseña» y el campo siguiente es como si no existiera.

    ademas me gustaria que al registrarse el usuario correctamente se valide mediante un correo electronico personalizado. es decir que al registrase aun no pueda loguearse hasta que haya confirmado su correo electronico. pero no se como hacerlo y necesito ayuda.

Viendo 11 respuestas - de la 1 a la 11 (de un total de 11)
  • Moderador Jose Luis

    (@jose64)

    Hola.

    Bienvenido al foro de soporte. Primeramente, te dejo el enlace a las Instruciones de uso de los foros, en cada debate solo se debe tratar un tema, por lo que este debate deberían ser dos, uno para cada consulta. La idea es que las consultas que uno hace sirvan como información a otros usuarios.

    Con respecto a tu primera consulta te remito a la información que está disponible en la red:

    CodePen > Confirm password with HTML5

    No se si es exactamente lo que te interesa, pero te puede servir de base.

    Con respecto a la segunda, por defecto WordPress valida los correos electrónicos, para el registro te pide el nombre de usuario y el correo electrónico, no la contraseña, y te indica «Recibirás confirmación del registro por correo electrónico.» Si el correo es falso no puedes generar la contraseña. Los formularios que te piden la contraseña están programados por el tema o algún plugin, tal cual estás haciendo tú.

    Si mantuvieses la estructura inicial del login de WordPress no tendrías que hacer la doble confirmación de contraseña ni buscar una forma de comprobar el correo, te dejo información acerca de como hacer modificaciones en esa plantilla básica:

    Customizing the Login Form

    Coméntanos si tienes alguna duda y, por favor, recuerda cerrar el debate marcándolo como resuelto cuando así lo consideres, de esta forma nos ayudas a mantener el foro al día.

    Buen día, Muchas gracias por responder. ok, tomare en cuenta tu sugerencia gracias.con lo primero, es exactamente lo que busco. probare el código y notifico si me funciona.

    con respecto a lo segundo, en mi caso no funciona como dices. yo agrego un correo electrónico como «djlasdalsd@jhfasd.com» y se me crea el usuario. y de igual forma si no lo permitiera, igual deseo que el usuario al registrarse no pueda iniciar sesión, sin primero acudir a su bandeja de correo y active la cuenta con url enviada.

    perdón, un detalle a tomar en cuenta es que estoy trabajando en local

    Moderador Jose Luis

    (@jose64)

    Hola.

    Creo que no entendiste cual era la idea. Si tú no modificas la forma de registro un usuario no puede crear su contraseña mientras no confirme el correo electrónico, por lo tanto no puede ingresar.

    Cuando un usuario se registra con la plantilla estándar de WordPress se le pide Nombre de usuario y Correo electrónico, y se le indica que Recibirás confirmación del registro por correo electrónico.. Una vez completado este paso lleva a la página donde le confirma que el usuario se creo, pero que tiene que verificar el correo con el mensaje:

    Registro completo. Por favor, comprueba tu correo electrónico y, después, visita la página de acceso.

    Si el correo no es válido el usuario no puede acceder a la contraseña y tampoco iniciar sesión.

    Ahora, el usuario siempre se creará, así sea con un correo falso, pero no podrá usarlo. Si tú creas el usuario desde tu panel de administrador es exactamente igual, el usuario recibe un correo indicándole el proceso para cambiar su contraseña, por lo que ya tienes la verificación hecha.

    El hecho de trabajar en local no influye en nada.

    Si usas WooCommerce y quieres permitir el registro desde la cuenta de la tienda tienes que configurar el plugin para que no permita crear contraseñas y el resultado es el mismo, se crea el usuario y este para poder acceder tiene que revisar su correo electrónico y seguir el enlace para crear la contraseña.

    Si te entiendo. pero creo que soy yo quien no se ha sabido explicar para que me entiendas :(.
    tu me indicas esto: «Si tú no modificas la forma de registro un usuario no puede crear su contraseña mientras no confirme el correo electrónico, por lo tanto no puede ingresar.» pues a mi no me ocurre asi. y es asi, como quiero que me ocurra. que un un usuario no puede crear su contraseña mientras no confirme el correo electrónico. en mi caso ocurre lo contrario y yo no he modificado la forma de registro. solo he reedireccionado wp-login.php a mi propio login personalizado.

    lo he hecho con la siguiente funcion:
    function login_redirect(){
    global $pagenow;
    if( ‘wp-login.php’ == $pagenow ) {
    if ( isset( $_POST[‘wp-submit’] ) || // in case of LOGIN
    ( isset($_GET[‘action’]) && $_GET[‘action’]==’logout’) || // in case of LOGOUT
    ( isset($_GET[‘checkemail’]) && $_GET[‘checkemail’]==’confirm’) || // in case of LOST PASSWORD
    ( isset($_GET[‘checkemail’]) && $_GET[‘checkemail’]==’registered’) ) return; // in case of REGISTER
    else wp_redirect( home_url(‘/login’));
    exit();
    }
    }
    add_action(‘init’,’login_redirect’);

    del resto no he cambiado nada que tenga que ver con la forma de registro. en este caso como la cambiaría para que si me ocurra como tu dices?

    también me indicas esto:»Ahora, el usuario siempre se creará, así sea con un correo falso, pero no podrá usarlo. Si tú creas el usuario desde tu panel de administrador es exactamente igual, el usuario recibe un correo indicándole el proceso para cambiar su contraseña, por lo que ya tienes la verificación hecha.» efectivamente el usuario se crea, pero nunca llega correo electrónico. e inicio sesión como nuevo usuario, y tengo acceso a la aplicación como si fuese un usuario verificado.

    en resumen, como tu me dices que actua wordpress es como quiero que me ocurra. pero no sucede así

    Moderador Jose Luis

    (@jose64)

    Definitivamente no entiendes lo que te estoy tratando de explicar:

    en mi caso ocurre lo contrario y yo no he modificado la forma de registro. solo he reedireccionado wp-login.php a mi propio login personalizado.

    Si has modificado la forma de registro con tu login personalizado.

    Haz una instalación limpia, no modifiques NADA y haz la prueba, si tu usas un login personalizado será lo que tu programes, si como has hecho pides que el usuario introduzca la contraseña, pues así será. No es la forma en que se hace por defecto y en la documentación que te pasé tiene cómo hacerlo según el Codex:

    Si mantuvieses la estructura inicial del login de WordPress no tendrías que hacer la doble confirmación de contraseña ni buscar una forma de comprobar el correo, te dejo información acerca de como hacer modificaciones en esa plantilla básica:

    Customizing the Login Form

    Elimina la redirección y deja que salga el login original de WordPress, o simplemente no pidas la contraseña en el tuyo personalizado.

    Haz la prueba y coméntanos.

    he ido a recuperar contraseña y coloco mi correo electrónico para verificar si wordpress envia los correos y el mensaje resultante es este:

    Error: no se ha podido enviar el correo electrónico. Puede que tu sitio no esté configurado correctamente para enviar correos electrónicos. Obtén soporte para restablecer tu contraseña.

    supongo que esto tiene que ver con mi problema.

    por cierto, el primer articulo que me enviaste me funciono correctamente para verificar que las contraseñas coincidan. Mil Gracias!

    ok, voy

    he hecho una instalación limpia, pero tengo el mismo problema. he ido con esta misma instalación a recuperar contraseña y me sigue indicando el mismo error.

    también he eliminado la reedireccion pero tampoco tengo resultados.

    he instalado un plugin smtp, y tampoco me llegan, pero el plugin tiene una opción de enviar mensajes de prueba. y dichos mensajes si me llegan al correo.

    Moderador Jose Luis

    (@jose64)

    Hola.

    Los problemas con el envío y recepción de correos seguramente se deban a la instalación en local. No se si te has percatado, pero el debate ha cambiado totalmente, tu consulta se refería a verificar la contraseña usando HTML y verificar autenticidad del correo de los usuarios y ahora estás con problemas de envío y recepción, cosa que no tiene nada que ver con el debate original. Como te indiqué antes:

    en cada debate solo se debe tratar un tema, por lo que este debate deberían ser dos, uno para cada consulta. La idea es que las consultas que uno hace sirvan como información a otros usuarios.

    No puede ser que ahora se amplíe a otro tema nuevo. Por favor, como el motivo original (verificar contraseña usando HTML) está resuelto, cierra este debate marcándolo como resuelto y abre uno nuevo con la nueva consulta referente al envío y recepción de correos en una instalación local.

Viendo 11 respuestas - de la 1 a la 11 (de un total de 11)
  • Debes estar registrado para responder a este debate.