Redireccionar a los usuarios después del login según su rol
Este snippet intercepta el proceso de login de WordPress y redirige a los usuarios a una URL personalizada según su rol. Se puede adaptar fácilmente para redireccionar a todos los usuarios a la misma URL o a diferentes URLs dependiendo de su perfil (administrador, editor, cliente, etc.).
Muestra de codigo del snippet
/**
* Redireccionar usuarios a una URL personalizada después de iniciar sesión
* Autor: WPAdictos
*/
function wpadictos_redireccion_login($redirect_to, $request, $user) {
// Verificamos que haya un usuario válido y que no haya errores
if (isset($user->roles) && is_array($user->roles)) {
// Redirección personalizada según rol
if (in_array('administrator', $user->roles)) {
return admin_url(); // Panel de administración
- 100% Compatible
- Fácil de integrar
- Código seguro
$3.00 El precio original era: $3.00.$1.97El precio actual es: $1.97.
¿Dónde colocar el código?
Ubicación recomendada: Pegá este código en el archivo functions.php
del tema hijo o, preferentemente, en un plugin personalizado.
Pasos para implementarlo
- Accedé al panel de administración de WordPress.
- Ir a Apariencia > Editor de archivos de tema (o usá FTP/SFTP).
- Abrí el archivo
functions.php
del tema hijo. - Pegá el snippet al final del archivo.
- Guardá los cambios.
Requisitos previos
- Acceso de administrador a tu sitio WordPress.
- Los roles deben estar correctamente asignados a los usuarios (como
customer
para WooCommerce).
Ejemplo de uso práctico
Escenario: Después de iniciar sesión, los clientes de tu tienda WooCommerce serán redirigidos automáticamente a la página /mi-cuenta/
, mientras que los administradores irán al panel y otros roles a páginas personalizadas.
Personalización
Modificá fácilmente:
- Cambiá las URLs de redirección usando
home_url('/tu-url/')
o URLs absolutas si lo necesitás. - Agregá más condiciones para otros roles como
editor
,shop_manager
, etc. - Para redirigir a todos los usuarios a la misma URL, eliminá el bloque
if
y usá directamentereturn home_url('/bienvenido/');
.
Cómo probar que funciona
- Cerrá sesión y accedé a la pantalla de login de WordPress.
- Iniciá sesión con distintos roles de usuario (administrador, cliente, suscriptor, etc.).
- Verificá que cada usuario sea redirigido a la URL correspondiente.
Producto recomendado
WPCode Pro – The Best WordPress Code Snippets Plugin
In stock
Snippets Recomendados
Permitir subida de imágenes WebP en WordPress
In stock
Desactivar completamente los feeds RSS en WordPress
In stock
Mostrar la fecha de última actualización en publicaciones
In stock
Ocultar barra de administración en el frontend salvo para administradores
In stock
Permitir la carga de archivos SVG en WordPress
In stock