我正在尝试将用户发送到我的自定义页面,但是当用户登录时,$username
在网址中留空了
/connections/username/profile/edit/group/1/
以下代码工作正常,但$ username未正确执行
function my_login_redirect( $redirect_to, $request, $user ) {
global $current_user;
get_currentuserinfo();
$username = $current_user->user_login;
$url = home_url( "/connections/$username/profile/edit/group/1/" );
//is there a user to check?
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
//check for admins
if ( in_array( 'administrator', $user->roles ) ) {
// redirect them to the default place
return $redirect_to;
} else {
return esc_url( $url );
}
} else {
return $redirect_to;
}
}
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );
答案 0 :(得分:1)
在wordpress 4.5之后,不推荐使用get_currentuserinfo(),以便您可以使用代码
function my_login_redirect( $redirect_to, $request, $user ) {
global $current_user;
$current_user = wp_get_current_user();
$username = $current_user->user_login;
$url = home_url( "/connections/$username/profile/edit/group/1/" );
//is there a user to check?
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
//check for admins
if ( in_array( 'administrator', $user->roles ) ) {
// redirect them to the default place
return $redirect_to;
} else {
return esc_url( $url );
}
} else {
return $redirect_to;
}
}
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );