
Redireccionar después del login en WordPress según el rol de usuario
En muchos proyectos de desarrollo con WordPress, una necesidad común es redireccionar a los usuarios después del login en función de su rol de usuario. Esto mejora la experiencia, organiza el flujo de navegación y, sobre todo, permite personalizar la interacción según el tipo de usuario que accede.
En este artículo te explicamos cómo hacerlo con un ejemplo claro en PHP, y además te contamos cómo aprovechar esta funcionalidad si estás desarrollando plugins o soluciones personalizadas.
¿Qué es un rol de usuario en WordPress?
Un rol de usuario en WordPress define qué acciones puede realizar una persona dentro del sitio. Algunos de los roles más comunes son:
- Administrador: acceso total a todas las funciones.
- Editor: puede publicar y gestionar entradas, incluidas las de otros.
- Autor: puede publicar y gestionar sus propias entradas.
- Suscriptor: solo puede gestionar su perfil.
Si querés aprender más sobre cómo extender funcionalidades en el admin, te puede interesar nuestro artículo sobre cómo mostrar mensajes personalizados en el wp-admin.
Redireccionar según el rol de usuario
Podés redirigir a los usuarios luego de iniciar sesión utilizando el filtro login_redirect
. Este hook te permite interceptar la redirección por defecto y definir la tuya.
A continuación, te mostramos un ejemplo funcional:
<?php function redirectAfterLoginByUserRole( $redirectTo, $request, $user ) { if ( isset( $user->roles ) && is_array( $user->roles ) ) { $userRole = $user->roles[0]; switch ( $userRole ) { case 'administrator': return admin_url(); case 'editor': return home_url( '/editor-dashboard/' ); case 'author': return home_url( '/author-section/' ); case 'subscriber': return home_url( '/mi-cuenta/' ); default: return home_url(); } } return $redirectTo; } add_filter( 'login_redirect', 'redirectAfterLoginByUserRole', 10, 3 );
admin_url()
redirige al escritorio de WordPress.home_url( '/editor-dashboard/' )
te permite definir una URL personalizada según cada rol.- Usamos
camelCase
para los nombres de función y variables, manteniendo buenas prácticas en desarrollo WordPress.
Si estás desarrollando un plugin para WooCommerce, esta técnica también te permite redirigir usuarios a un área de cliente personalizada o un panel de gestión para afiliados.
Casos de uso reales
Algunos ejemplos donde esto puede aplicarse:
- En tiendas online hechas con WooCommerce, podés redirigir a compradores frecuentes a una sección de mi cuenta.
- En academias online, los estudiantes pueden ser redirigidos al panel del curso.
- En desarrollos personalizados con membresías, cada tipo de usuario puede tener su propia área.
Si estás interesado en integrar tu tienda WooCommerce con plataformas educativas, te puede ser útil el artículo: Crear usuario en Moodle cuando se hace una compra en WooCommerce.
Personalizar la redirección tras el login según el rol de usuario es una manera práctica y potente de mejorar la experiencia de tus usuarios en WordPress. Además, es una funcionalidad sencilla de implementar que podés incluir en tus plugins personalizados o desarrollos para clientes.
¿Estás creando plugins y querés monetizarlos? Mirá cómo sumarte a nuestro programa de afiliados y ganá el 35% por cada venta.