Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2014, 08:40
jurassicboy
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 2
Redireccionar errores de login a páginas fuera de wp-admin.

Buenos días compañeros,

Estoy intentando no utilizar wp-admin / wp-login.php para un login con bbpress.

He instalado el plugin "Custom Login" para redireccionar un login exitoso desde el frontend a otra página creada en frontend en la que se da las gracias y avisa de que se ha enviado un mail al usuario con su contraseña. Es decir, intento que los usuarios no vean el directorio wp-admin ni el wp-login.php que viene por defecto en Wordpress.


La redirección que hago es de: /wp-login.php?checkemail=registered a una página que he creado llamada: /registration-succeed

Todo funciona correctamente cuando el usuario loguea, pero en caso de que se olvide poner la contraseña, el nombre de usuario, o por ejemplo deje los campos en blanco... el error envía al usuario al wp-admin.


¿Existe algún plugin con el que pueda dirigir cada tipo de error a una página creada por mi, en lugar de que envíe a los usuarios a wp-admin?

Intento encontrar la dirección que utiliza cuando detecta un error para poder redirigirla, imagino que debería ser del tipo: /wp-login.php?checkemail=empty_pass o algo así, pero no hay manera de encontrarla.

He encontrado el siguiente código, pero no distingue el tipo de error. Simplemente si hay algún error sea cual sea envía a una página escogida por el programador:


Código PHP:
Ver original
  1. // hook failed login
  2. add_action('wp_login_failed', 'my_front_end_login_fail');
  3.  
  4. function my_front_end_login_fail($username){
  5.     // Get the reffering page, where did the post submission come from?
  6.     $referrer = $_SERVER['HTTP_REFERER'];
  7.  
  8.     // if there's a valid referrer, and it's not the default log-in screen
  9.     if(!empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin')){
  10.         // let's append some information (login=failed) to the URL for the theme to use
  11.         wp_redirect($referrer . '?login=failed');
  12.     exit;
  13.     }
  14. }


Muchas gracias de antemano por vuestra ayuda y tiempo.

Última edición por jurassicboy; 06/05/2014 a las 08:57