function custom_login_redirect( $redirect_to, $request, $user ) {

    // si el usuario es un administrador, redirigir a la página de administración

    if ( is_array( $user->roles ) && in_array( 'administrator', $user->roles ) ) {

        return admin_url();

    }

    // si el usuario es un editor, redirigir a la página de edición

    elseif ( is_array( $user->roles ) && in_array( 'editor', $user->roles ) ) {

        return home_url( '/mi-pagina-para-editores/' );

    }

    // si el usuario es un autor, redirigir a la página de escritura

    elseif ( is_array( $user->roles ) && in_array( 'author', $user->roles ) ) {

        return home_url( '/mi-pagina-para-autores/' );

    }

    // si el usuario es un colaborador, redirigir a la página de colaboración

    elseif ( is_array( $user->roles ) && in_array( 'contributor', $user->roles ) ) {

        return home_url( '/mi-pagina-para-colaboradores/' );

    }

    // si el usuario es un suscriptor, redirigir a la página de suscripción

    elseif ( is_array( $user->roles ) && in_array( 'subscriber', $user->roles ) ) {

        return home_url( '/mi-pagina-para-suscriptores/' );

    }

    // de lo contrario, redirigir a la página principal

    return home_url();

}

add_filter( 'login_redirect', 'custom_login_redirect', 10, 3 );