因为这对我不起作用。此代码检查用户是否刚刚注册。如果有,我想将他重定向到自定义页面。否则,请将他重定向到主页或管理页面。
function mylogin_redirect($redirect_to, $url_redirect_to = \'\', $user = null) {
if( $user->ID ) {
$user_info = get_userdata( $user->ID );
// If user_registered date/time is less than 48hrs from now
// Message will show for 48hrs after registration
if ( strtotime( $user_info->user_registered ) > ( time() - 172800 ) ) {
return get_bloginfo(\'url\') . "/custompage/";
} elseif( current_user_can( \'manage_options\' )) {
return admin_url();
} else {
return get_bloginfo(\'url\');
}
}
}
add_filter(\'login_redirect\', \'mylogin_redirect\');
我得到了这两个选项的预期结果,但管理。
elseif( current_user_can( \'manage_options\' )) { return admin_url(); }
似乎没有被解析。
最合适的回答,由SO网友:TheDeadMedic 整理而成
可能是因为全球$current_user
尚未生效,由使用current_user_can()
.
但是,您可以使用它;
if ($user->has_cap(\'manage_options\')) { return admin_url(); }