Mediante el siguiente código, vamos a tener disponible un shortcode que lo incluiremos en la página que necesitemos y se producirá una redirección a un lugar o a otro en función del rol del usuario.
El código siguiente tenemos que darlo o bien en el fichero functions.php
o bien en un plugin como el Code Snippets (me gusta más la segunda opción).
add_shortcode('sc_redireccion_personalizada', 'redireccion_personalizada');
function redireccion_personalizada()
{
$usuario = new WP_User(get_current_user_id());
if( $usuario && is_object( $usuario ) && is_a( $usuario, 'WP_User' ) )
{
switch ($usuario->roles[0])
{
case 'administrator':
$url = admin_url();
wp_redirect($url);
break;
case 'rol_que_sea':
$url = "URL que sea";
wp_redirect($url);
break;
}
}
}
En el código anterior hemos generado la redirección con JavaScript en lugar de wp_redirect()
porque no funcionaría al haber sido ya enviados los elementos al header
en el momento del login.