2
我创建了一个名为的新用户角色student_role我想用此角色重定向用户以形成页面(我通过wp前端)当他登录。如何在Wordpress中登录后将具有特定“角色”的用户重定向到特定页面
我试过peter登录重定向插件但失败。
我创建了一个名为的新用户角色student_role我想用此角色重定向用户以形成页面(我通过wp前端)当他登录。如何在Wordpress中登录后将具有特定“角色”的用户重定向到特定页面
我试过peter登录重定向插件但失败。
试试这个:
function rohil_login_redirect_based_on_roles($user_login, $user) {
if(in_array('student_role',$user->roles)){
exit(wp_redirect('Your page link goes here'));
}
}
add_action('wp_login', 'rohil_login_redirect_based_on_roles', 10, 2);
说明
如果你看一下codex,你会发现,wp_login
提供两个参数:1)$user_login
这将返回一个字符串和2)$user
将返回一个包含所有细节的对象。
但是,您需要确保您还将优先级传递给该参数,否则它会给您一个错误。
如果你想看看哪些数据进入该参数,你可以运行下面的代码学习目的只。
function rohil_login_redirect_based_on_roles($user_login, $user) {
var_dump($user); // Will give you an object
var_dump($user_login); //Will give you a string
die();
}
add_action('wp_login', 'rohil_login_redirect_based_on_roles', 10, 2);
检查它包含的数据
所以你可以$user
对象包含角色,显示当前登录用户的角色后,务必从functions.php
删除上面的代码。所以我简单地检查了if($user->roles[0] === 'student_role')
如果当前登录的用户有student_role
然后wp_redirect('Your page link goes here')
重定向他们到某个页面。
让我知道你是否有任何疑问。
感谢它完美 –
你能解释一下你的代码吗?我的意思是你通过参数来运作。并请告诉你使用了add_action('wp_login','rohil_login_redirect_based_on_roles',10,2)等动作钩子; –
优秀...请告诉这是什么“add_action('wp_login','rohil_login_redirect_based_on_roles',10,2);” –