根据每个用户的角色将其重定向到特定页面

时间:2018-06-19 作者:Kanishk Jain

我想建立一个多用户网站。不同类型的用户包括学生、教师、家长、管理员和辅导员。我想在登录后根据每个用户的类型将其重定向到特定页面。如何继续?有可用的插件吗?

如何进行注册和登录?

比如,学生应该被重定向到一个页面student.php 只要他是学生。教师应该被重新引导说teacher.php.

所有类型的用户都有不同的仪表盘。

1 个回复
SO网友:Olivier

你可以利用login_redirect 滤器

文档中的示例与您的问题非常相似:

/**
 * Redirect user after successful login.
 *
 * @param string $redirect_to URL to redirect to.
 * @param string $request URL the user is coming from.
 * @param object $user Logged user\'s data.
 * @return string
 */

function wpse306427_login_redirect( $redirect_to, $request, $user ) {
    //is there a user to check?
    if (isset($user->roles) && is_array($user->roles)) {
        //check for subscribers
        if (in_array(\'subscriber\', $user->roles)) {
            // redirect them to another URL, in this case, the homepage 
            $redirect_to =  home_url();
        }
    }

    return $redirect_to;
}

add_filter( \'login_redirect\', \'wpse306427_login_redirect\', 10, 3 );
您可以将此代码放在插件或主题函数中。php。

结束

相关推荐

尝试向Gmail SMTP插件授予权限时出现400错误:reDirect_uri_mismatch

我正在尝试将Google SMTP插件添加到我的wordpress网站。我安装了插件,然后去谷歌开发者控制台创建了新项目,添加了Gmail API,添加了凭据。现在这一步与我过去的记忆有所不同。我没有得到API密钥,而是得到了一个包含所有信息的JSON文件,其中的静态字段似乎大部分匹配。然后,我转到Gmail SMTP插件中的设置窗体,并按以下方式映射设置:Client id 字段到client_id 来自JsonClient Secret 字段到private_key 来自JsonClient Emai