Redireccionar usuarios segun el rol | Develop Site

Nos encontramos con la necesidad de redireccionar a los usuarios despues de iniciar segun su rol, en nuestro caso los administradores, editores y el resto de roles

El proyecto usa el plugin User Access Manager que permite administrar el contenido que pueden ver los usuarios y crear grupos. A esto es necesario que al momento de iniciar la sesion el usuario se redireccionado a diferentes secciones del proyecto. Para esto tenemos que agregar el siguiente codigo en el archivo functions.php

  1. /*---------------------------------------------------
  2.  *Redireccion de registro y login
  3.  *segun el rol del usuario.
  4.  *---------------------------------------------------
  5.  */
  6. function mytheme_custom_login_redirect($redirect_to, $request, $user) {
  7.     global $user;
  8.     if ( isset( $user->roles ) && is_array( $user->roles )) {
  9.  
  10.     /*Si es un administrador
  11.      *lo enviamos a la pagina de inicio
  12.      */
  13.  
  14.     if ( in_array( 'administrator', $user->roles ))
  15.        return home_url( '/wp-admin/plugins.php' );
  16.  
  17.    /*Si es un usuario con permisos de editor
  18.     *le enviamos a la pagina de entradas
  19.     */
  20.  
  21.    elseif ( in_array( 'editor', $user->roles ))
  22.        return home_url( 'wp-admins/edit.php' );
  23.  
  24.    /*Y a todos los demas usuarios
  25.     *le redirigimos a la pagina de inicio de le web.
  26.     */
  27.    else
  28.        return home_url();
  29.   } else {
  30.      return $redirect_to;      
  31.   }
  32. }
  33. add_filter( 'login_redirect', 'mytheme_custom_login_redirect', 10, 3 );

En conclusion el usuario, de acuerdo a sus rol, puede ver determinados contenido y redirijido a una seccion determinada

Español