blog webempresa

Redirigir usuarios después de iniciar sesión en WordPress

por | May 31, 2023 | Aprender WordPress

Redirigir usuarios después de iniciar sesión en WordPress

Dependiendo del caso en el que los el usuario de nuestro sitio web requieran el iniciar sesión, por lo general son redireccionados al panel de administración por defecto de WordPress.

Este comportamiento puede que no sea el deseado y en su lugar lo requerido es que cada usuario al iniciar sesión sea redirigido a la página principal o bien a alguna página determinada.

En el siguiente artículo vamos a resolver como podemos redirigir usuarios después de iniciar sesión en nuestro sitio en WordPress, ya sea por medio de plugins populares o desde fragmentos de código.

 ¿Cuándo redirigir usuarios en WordPress?


redirigir-login-wp-01

En WordPress, es posible redirigir usuarios después de iniciar sesión en diversas situaciones para mejorar la experiencia de navegación o garantizar la correcta visualización del contenido.

Vamos a enlistar algunos escenarios comunes en los que podemos considerar redirigir usuarios en WordPress después de iniciar sesión.

Experiencia del usuario: al redirigir usuarios después de iniciar sesión a una página específica, podemos mejorar su experiencia al proporcionarles un punto de entrada relevante. Por ejemplo, es posible redirigirlos a su perfil de usuario, al panel de control del sitio o a la página de inicio. Esto les ahorra tiempo y les permite comenzar a interactuar con el sitio de forma inmediata.

Acceso a contenido exclusivo: si nuestro sitio web tiene contenido restringido para usuarios registrados o suscritos, redirigir usuarios después de iniciar sesión a las páginas o secciones relevantes les permite acceder rápidamente a dicho contenido exclusivo. Esto mejora la usabilidad y evita que los usuarios tengan que buscar manualmente el contenido restringido después de iniciar sesión.

Orientación o instrucciones: podemos utilizar el redirigir usuarios después de iniciar sesión para proporcionar orientación adicional o instrucciones importantes a los usuarios. Por ejemplo, si hemos realizado cambios recientes en el sitio web o queremos destacar características específicas, podemos redirigir a los usuarios a una página de bienvenida o a una guía de inicio rápido después de iniciar sesión.

Personalización de la experiencia: al redirigir a los usuarios a páginas específicas después de iniciar sesión, es posible adaptar la experiencia del usuario según sus roles, preferencias o interacciones anteriores. Por ejemplo, es posible redirigir usuarios después de iniciar sesión, en especial a los administradores a un panel de control avanzado, mientras que los suscriptores pueden ser redirigidos a su perfil o a una página específica de membresía.

 ¿Cómo redirigir usuarios después de iniciar sesión con plugin?


 WP Login and Logout Redirect


redirigir-login-wp-02

(Visita el plugin haciendo clic en la imagen ↑)

Si buscamos un plugin simple y liviano, WP Login and Logout Redirect puede ser la opción perfecta en nuestro caso. A diferencia de otros plugins más robustos, este se enfoca en ofrecer una solución directa y sin complicaciones.

WP Login and Logout Redirect se caracteriza por su simplicidad y tamaño reducido. No sobrecarga nuestro sitio con funciones adicionales que pueden no ser de interés. En cambio, se centra en cumplir su función principal: redirigir a los usuarios después de iniciar sesión y cerrar sesión de manera eficiente y sin complicaciones.

Este plugin permite establecer fácilmente las redirecciones después del inicio de sesión y cierre de sesión según nuestras necesidades específicas. Al evitar características adicionales y opciones complejas, WP Login and Logout Redirect te permite ir directo al grano y lograr tus objetivos sin distracciones innecesarias.

Una vez instalado el plugin tendremos una nueva opcion en el menu lateral izquierdo de nuestro panel de administración llamada “Redirect Options”.

Desde ella podremos ver la vista correspondiente a las opciones del plugin las cuales son bien concretas, dos campos donde uno corresponde a la URL de redirección al iniciar sesión y otro de redirección al cerrar sesión.

redirigir-login-wp-03

 LoginWP


redirigir-login-wp-04

(Visita el plugin haciendo clic en la imagen ↑)

LoginWP es un plugin que nos brinda la capacidad de definir reglas de redirección personalizadas tanto para usuarios individuales como para roles específicos en tu sitio de WordPress. Con esta herramienta, puedes controlar a dónde se redirige un usuario después de iniciar sesión, lo que te permite personalizar su experiencia en tu sitio web.

Es posible redirigir usuarios después de iniciar sesión a paginas especificas en función de diferentes criterios, como el rol de usuario, la capacidad de usuario, el ID de usuario, la página de inicio personalizada y más. Esto nos brinda la flexibilidad de personalizar las redirecciones según las necesidades y mejorar la experiencia del usuario en el sitio web.

En su versión pro, LoginWP ofrece una amplia integración con más de una docena de plugins diferentes en WordPress. Esta integración permite una mayor flexibilidad y opciones de redirección, especialmente si el objetivo es redirigir a los usuarios a la página en la que se registraron originalmente. Si ese es nuestro caso, debemos considerar adquirir la versión pro del plugin o explorar otras opciones disponibles.

Una vez instalado el plugin tendremos una nueva opcion en el menu lateral izquierdo de nuestro panel de administración llamada “LoginWP”.

Desde ella podremos ver la vista correspondiente a las opciones del plugin las cuales son más extensas que el plugin anterior.

Primero que nada podremos crear una redirección la cual estará enlistada en el apartado donde se puede visualizar la URL de acceso, URL de salida y las condiciones para que se ejecute.

redirigir-login-wp-05

Una vez en la vista de la creación de la redirección podremos determinar la condición para que se apliquen las URL correspondientes a los usuarios que cumplan con lo seleccionado.

En esta versión gratuita tenemos la posibilidad de asignar por nombre de usuario, por tipo de perfil de usuario y por las capacidades que pueda tener el usuario.

Para tener mas condiciones es requerido tener la versión Pro del plugin que cabe destacar hay varias bastante interesantes.

redirigir-login-wp-06

Regresando a la vista general del plugin es posible configurar redirecciones globales sin establecer una regla como hemos visto en la opción anterior.

Podemos configurar el redirigir usuarios después de iniciar sesión, después de cerrar sesión e incluso después de realizar un registro en el sitio web.

redirigir-login-wp-07

 Sky Login Redirect


redirigir-login-wp-08

(Visita el plugin haciendo clic en la imagen ↑)

A pesar de ser un plugin gratuito, Sky Login Redirect ofrece un amplio conjunto de características y funcionalidades muy potentes. Este plugin nos permite establecer reglas de redirección personalizadas, lo que significa que podemos dirigir a los usuarios a diferentes páginas después de iniciar sesión según sea necesario. Además de la redirección, también es posible personalizar la apariencia de la página de inicio de sesión, lo que nos brinda la capacidad de adaptarla a la imagen y estilo de nuestro sitio web.

Sky Login Redirect también ofrece pequeños ajustes que pueden marcar automáticamente la casilla “Recuérdame” en la página de inicio de sesión, lo que facilita a los usuarios mantener la sesión iniciada si así lo desean. Además, también es posible eliminar enlaces específicos de la página de inicio de sesión, lo que brinda aún más personalización, pudiendo eliminar cualquier elemento no deseado.

La versión pro de Sky Login Redirect lleva las funcionalidades a otro nivel al integrarse con otros plugins populares como WooCommerce o Easy Digital Downloads. Esto brinda la capacidad de aprovechar las características adicionales y la integración perfecta con estos plugins para mejorar la experiencia de inicio de sesión y la administración de contenido. Además, la versión pro también ofrece funciones opcionales adicionales, como la restricción de contenido, lo que te permite controlar el acceso a cierto contenido basado en roles de usuario u otras condiciones.

Una vez instalado el plugin tendremos una nueva opción en el menu lateral izquierdo de nuestro panel de administración llamada “Login Redirect”.

Desde ella podremos ver la vista correspondiente a las opciones del plugin las cuales son bastante más diversas de los plugins que hemos visto anteriormente; sin embargo, varias de estas opciones se encuentran limitadas, ya que solo pueden ser utilizadas si contamos con la versión pro del plugin.

En esta ocasión solo nos concentraremos en la opción de redirección “Redirects”.

redirigir-login-wp-09

Desde el botón de “Add rule” podremos configurar la redirección por medio de condiciones para que se aplique de forma correcta, pudiendo seleccionar todos los usuarios, usuarios específicos o roles de usuarios específicos.

Las redirecciones aplican tanto para el inicio de sesión como para el cierre de sesión, pudiendo configurar enlaces a la página anterior, una página personalizada, una URL personalizada o el panel de administración de WordPress que es la opción por defecto.

redirigir-login-wp-01

 ¿Cómo redirigir usuarios después de iniciar sesión sin plugin?


Si lo que buscamos es redirigir usuarios después de iniciar sesión sin emplear ningún plugin en el proceso y controlar a medida el comportamiento de las redirecciones, podemos dar uso un fragmento de código como el que presentaremos a continuación.

Es importante destacar que para el uso de snippets de código lo ideal sería implementarlos en el archivo functions.php de un tema hijo en nuestra instalación de WordPress o bien existe la alternativa de gestionar los fragmentos de código mediante el plugin de Code Snippets.

redirigir-login-wp-10

(Visita el plugin haciendo clic en la imagen ↑)

function custom_login_redirect( $redirect, $user ) {
   // Comprueba el rol del usuario para determinar la redirección adecuada
   if ( isset( $user->roles ) && is_array( $user->roles ) ) {
      if ( in_array( 'administrator', $user->roles ) ) {
         // Redirige a los administradores a la página de administración
         return admin_url();
      } elseif ( in_array( 'subscriber', $user->roles ) ) {
         // Redirige a los suscriptores a la página de inicio
         return home_url();
      }
   }

   // Redirige a la página de inicio por defecto para otros roles
   return home_url();
}
add_filter( 'login_redirect', 'custom_login_redirect', 10, 2 );

redirigir-login-wp-11

El código proporcionado es una función de redirección personalizada para WordPress después de que un usuario inicie sesión. Vamos a describirlo para entenderlo un poco mejor:

La función llamada “custom_login_redirect” acepta dos parámetros, $redirect y $user. $redirect representa la URL de redirección predeterminada después de iniciar sesión, y $user contiene los datos del usuario que ha iniciado sesión.

La función comprueba si la propiedad “roles” del objeto $user está definida y es un array usando isset() y is_array(). Esto es necesario para asegurarse de que el usuario tenga roles asignados.

Si el usuario tiene roles definidos, la función verifica si el rol “administrator” (administrador) está presente en el array de roles del usuario utilizando la función in_array(). Si es así, se redirige al administrador a la página de administración utilizando admin_url().

Si el rol “administrator” no está presente, la función verifica si el rol “subscriber” (suscriptor) está presente en el array de roles del usuario. Si es así, se redirige al suscriptor a la página de inicio utilizando home_url().

Si el usuario no tiene ninguno de los roles mencionados anteriormente o no se han asignado roles, se redirige a la página de inicio utilizando home_url() como redirección predeterminada.

Por último, se utiliza la función add_filter() para agregar esta función como un filtro al gancho (hook) ‘login_redirect’. Esto asegura que la función se ejecute cuando se produzca una redirección después de iniciar sesión.

function custom_login_redirect( $redirect, $user ) {
   // Comprueba el rol del usuario para determinar la redirección adecuada
   if ( isset( $user->roles ) && is_array( $user->roles ) ) {
      if ( in_array( 'administrator', $user->roles ) ) {
         // Redirige a los administradores a la página de administración
         return admin_url();
      } elseif ( in_array( 'subscriber', $user->roles ) ) {
         // Redirige a los suscriptores a una página personalizada
         return home_url('/mi-pagina-personalizada');
      }
   }

   // Redirige a la página de inicio por defecto para otros roles
   return home_url();
}
add_filter( 'login_redirect', 'custom_login_redirect', 10, 2 );

redirigir-login-wp-12

En este ejemplo, hemos modificado la redirección para los suscriptores. En lugar de redirigirlos a la página de inicio, se redirigirán a una página personalizada llamada “mi-pagina-personalizada”. Puedes reemplazar “/mi-pagina-personalizada” con la URL relativa de la página que queramos.

Si deseamos redireccionar a una página personalizada para otros roles de usuario, es posible agregar condiciones adicionales dentro de la función y establecer la URL de redirección correspondiente.

 Conclusión


El redirigir usuarios después de iniciar sesión en WordPress trae consigo varios beneficios, por lo que es importante, ya que mejora la experiencia del usuario, permite un acceso rápido a contenido exclusivo, facilita la comunicación efectiva y personaliza la experiencia según los roles y preferencias de los usuarios.

También hemos podido apreciar que por medio de las distintas herramientas que podemos implementar, es válido el redirigir usuarios no solo al iniciar sesión, sino cuando el usuario decida cerrar sesión.

Al implementar redirecciones adecuadas, es posible optimizar la interacción de los usuarios con nuestro sitio web y proporcionarles un camino claro y relevante una vez que han iniciado sesión.

También te puede interesar:

¿Te ha resultado útil este artículo?

Promo abril