0
使用WordPress - 我想檢查誰剛剛登錄,如果他們是UsernameX,則重定向到PageX,如果他們是管理員,則重定向到/ wp-admin /,所有其他人重定向到HOME_URL();根據用戶名登錄後重定向用戶
這是我的代碼:
function my_login_redirect($redirect_to, $request, $user){
if(in_array('student',$user->user_login)) {
return home_url("/students/");
} else {
if(in_array('administrator', $user->roles)){
return home_url("/wp-admin/");
} else {
return home_url();
}
}
}
add_filter("login_redirect", "my_login_redirect", 10, 3);
但是它似乎並沒有工作 - 特別是對USER_LOGIN檢查。有沒有更好的工作方式來做到這一點?
接聽/正確的代碼 - 感謝@soju:
function my_login_redirect($redirect_to, $request, $user){
if($user->first_name == 'student')) {
return home_url("/students/");
} else {
if(in_array('administrator', $user->roles)){
return home_url("/wp-admin/");
} else {
return home_url();
}
}
}
add_filter("login_redirect", "my_login_redirect", 10, 3);
這意味着使用該用戶的名字爲$用戶不包含用戶名,但如果你希望你能得到它使用由$用戶返回的ID我猜。
感謝燒酒 - 你知道在哪裏/有一個鏈接到全球$ USER的內容是什麼?我一直在搜索代碼,但找不到它。 – phil
看看這裏:http://codex.wordpress.org/Class_Reference/WP_User – soju