En este artículo, te mostraré cómo redirigir al usuario al iniciar o cerrar sesión en WordPress una vez se ha identificado en el sitio web.
A menudo, cuando los usuarios inician sesión en WordPress, simplemente se redirigen a su página de perfil de usuario,
lo cual puede ser confuso si deseas que los usuarios accedan a una página específica después de iniciar sesión.
Por otro lado, cuando los usuarios cierran sesión en WordPress, generalmente son redirigidos a la página de inicio de sesión, lo cual puede ser ineficiente si deseas que los usuarios sean redirigidos a una página específica de tu sitio web.
Por estas razones, redirigir al usuario al iniciar o cerrar sesión en WordPress puede mejorar la experiencia de usuario en tu sitio web.
Redirigir al usuario cuando inicia sesión
Para redirigir a los usuarios en WordPress después de iniciar sesión, necesitamos agregar algunas líneas de código a nuestro archivo functions.php. Esto implicará la creación de una función personalizada para redirigir a los usuarios, que luego agregaremos a la acción wp_login.
Por ejemplo, si tenemos una página llamada «Descargas» que solo es accesible para usuarios registrados, podemos usar esta función para redirigir al usuario directamente a esa página después de iniciar sesión. De esta manera, el proceso de inicio de sesión será más fluido y los usuarios podrán acceder fácilmente a la información o características específicas que necesitan en tu sitio web.
Copia y pega este código en el archivo «functions.php» de tu child theme o en tu plugin de códigos personalizados. (recuerda cambiar la palabra «descargas» por el slug de la página a donde quieres redirigir a tus usuarios)
function my_custom_login_redirect(){
//Pasamos a la función home_url() el slug de nuestra página de descargas
wp_redirect( home_url("descargas") );
exit();
}
add_action( 'wp_login','my_custom_login_redirect' );
Redirigir al usuario cuando cierra sesión
El proceso para redirigir a los usuarios en WordPress después de cerrar sesión es similar al de redirigirlos después de iniciar sesión. La única diferencia es que en lugar de usar el hook wp_login, usaremos el hook wp_logout.
Para hacer esto, simplemente necesitamos agregar algunas líneas de código a nuestro archivo functions.php. Con estas líneas de código, podemos crear una función personalizada que redirija a los usuarios a una página específica después de cerrar sesión. De esta manera, los usuarios no serán redirigidos a la página de inicio de sesión predeterminada de WordPress después de cerrar sesión, sino que serán enviados directamente a la página que hayamos especificado.
En el siguiente código yo los estoy re dirigiendo a la página «home»
function my_custom_logout_redirect(){
wp_redirect( home_url("home") );
exit();
}
add_action( 'wp_logout', 'my_custom_logout_redirect' );
Con estas dos funciones personalizadas, podemos redirigir a los usuarios a cualquier página que deseemos después de que inicien o cierren sesión en WordPress. Pero podemos ir más allá y utilizar estos redireccionamientos de manera más específica al filtrar por tipo de usuario y función de su rol en nuestro sitio web.
Por ejemplo, en el caso de la función de inicio de sesión que mencionamos anteriormente, podemos limitar la funcionalidad solo a los usuarios suscriptores y redirigirlos a una página específica. Sin embargo, para los usuarios administradores, podemos querer redirigirlos directamente al backend del sitio web.
En este caso, podemos utilizar el filtro login_redirect en WordPress para actuar en función del rol del usuario. De esta manera, podemos personalizar el comportamiento de inicio y cierre de sesión para diferentes tipos de usuarios en nuestro sitio web, lo que mejorará su experiencia en nuestro sitio web.
Un ejemplo puede ser:
function my_custom_login_redirect($redirect_to, $request, $user) {
global $user;
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
if ( in_array( 'subscriber', $user->roles ) ) {
return home_url("descargas");
}
}
return $redirect_to;
}
add_filter( 'login_redirect', 'my_custom_login_redirect', 10, 3 );
Redirigir al usuario al iniciar o cerrar sesión en WordPress con un plugin
En caso de que prefieras hacerlo con un plugin, una de las opciones que podrías implementar, es el uso de LoginWP (Formerly Peter’s Login Redirect) un plugin gratuito que puedes encontrar en el repositorio de WordPress.
Este plugin te permite definir un conjunto de reglas de redirección para usuarios específicos, usuarios con perfiles específicos, usuarios con capacidades específicas, y una regla general para todos los demás usuarios. Además, establece una URL de redirección para después del registro.
Proceso de Instalación del plugin
Instalar este plugin es muy fácil.
Ve a a la sección de «plugins» dentro de tu panel de control de tu WordPress, y sigue estas instrucciones:
- En el campo de búsqueda ingresa la palabra LoginWP . Haz clic en «Buscar plugins» o pulsa Intro («enter»).
- Selecciona LoginWP y haz clic en «Instalar ahora».
- Una vez instalado, haz clic en «Activar».
- Una vez activo, vas a ver una pestaña en tu administrador con el nombre LoginWP
Cómo crear una regla de redirección de inicio de sesión con LoginWP
LoginWP te permite crear diferentes reglas de redirección de inicio de sesión basadas en distintos criterios de usuario como el rol, la capacidad y los nombres de usuario. De esta manera, los usuarios serán redirigidos a distintas URL después de iniciar sesión en tu sitio de WordPress, según las reglas de redirección que hayas establecido. Este plugin funciona con la página de inicio de sesión predeterminada de WordPress y los formularios de inicio de sesión de WooCommerce, Gravity Forms, WPForms, LifterLMS, Easy Digital Downloads, WP User Frontend, LearnDash, MemberPress, MemberMouse, Restrict Content Pro, Paid Memberships Pro, ProfilePress, LearnPress, Ultimate Member, WishList Member, WP User Manager, Tutor LMS, Theme My Login, User Registration (WPEverest), Polylang y WPML.
Para crear una regla de redirección de inicio de sesión sigue estos pasos:
1. Ve a LoginWP >> Redirecciones.
2. Haz clic en el botón «Añadir nueva».
3. Selecciona el tipo de regla (puede ser un rol de usuario, capacidad y nombre de usuario) y la condición.
4. Introduce la URL a la que se redirigirá al usuario después de iniciar y cerrar sesión.
En conclusión, redirigir al usuario al iniciar o cerrar sesión en WordPress es una tarea sencilla que puede mejorar significativamente la experiencia de usuario. Ya sea que desees enviar a los usuarios a una página de bienvenida personalizada o evitar que se distraigan con otros contenidos al cerrar sesión, Ya viste que hay varias formas de redirigirlos sin necesidad de habilidades de programación avanzadas. Simplemente siguiendo las instrucciones en este artículo para hacerlo con unas pocas líneas de código o usando un plugin y estarás en el camino hacia una experiencia de usuario más fluida y personalizada para los usuarios de tu sitio web con WordPress.