Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/12/2010, 12:24
bengiss
 
Fecha de Ingreso: junio-2009
Mensajes: 79
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Problema para obtener password al fallar login

Hola a todos,

Actualmente estoy trabajando en el siguiente plugin:

Código PHP:
remove_filter'authenticate''wp_authenticate_username_password'20);
add_filter'authenticate''dr_email_login_authenticate'20);
add_action('wp_login_failed''login_failed_func');

function 
login_failed_func($email){
    
$errors = new WP_Error();
    
// Validar formato de email
    
if ( ! is_email$email ) ) {
        return 
$errors->add'invalid_email'__'<strong>ERROR</strong>: The email address isn’t correct.' ) );
    
// Validar que el email no existe en la BD
    
} elseif ( get_user_by_email($email) ) {
        return 
$errors->add'email_exists'__'<strong>ERROR</strong>: This email is already registered, please choose another one.' ) );
    }
    
    echo 
'Usuario no existe';
    
}

function 
dr_email_login_authenticate$user$username$password ) {
    
$user get_user_by_email$username );
    if ( 
$user ) {
            
$username $user->user_login;
        } 
    return 
wp_authenticate_username_passwordnull$username$password );

Como pueden ver me permite logear con el email y la contraseña, el problema es que uno de los requerimientos es que si el email no existe en la BD que automaticamente se registre el usuario en la BD con el email y la contraseña que se escribio en el formulario.

Puedo llegar al punto en el que valido si el email existe, pero el action wp_login_failed solo me pasa el usuario (o email en este caso) y no la contraseña, y necesito ambos para hacer el registro automatico.

Trate utilizando $_REQUEST['user_pass'] pero no me muestra nada...

Alguno sabe que puedo hacer para obtener el password??

Saludos y gracias de antemano!