我创建了一个名为Student_role的新用户角色,我想在登录时将具有此角色的用户重定向到表单页面(我从 wp 前端创建)。
我尝试了彼得登录重定向插件但失败了。
尝试这个 :
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);
Run Code Online (Sandbox Code Playgroud)
解释
如果您查看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);
Run Code Online (Sandbox Code Playgroud)
确保functions.php在检查上面的代码包含的数据后将其删除
因此,您可以$user对象包含显示当前登录用户角色的角色。所以我简单地检查if($user->roles[0] === 'student_role')当前登录的用户是否有student_role然后wp_redirect('Your page link goes here')将他们重定向到某个页面。
如果您有任何疑问,请告诉我。
| 归档时间: |
|
| 查看次数: |
5270 次 |
| 最近记录: |