2016-09-03 24 views
0

我已經發布了下面的代碼。每當我登錄時,$用戶名不會執行,因此留下空白。如何重定向到我包含用戶名的特定URL - Wordpress

function my_login_redirect($redirect_to, $request, $user) { 
    global $current_user; 
$current_member = wp_get_current_user(); 
$username = $current_member->user_login; 
    $url = home_url("/connections/$username/profile/edit/group/1/"); 


    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

全球$currentuser是此過濾器的請求期間不可爲陳述here

$user從功能參數請求時可用, 所以只需將這些應該工作

function my_login_redirect($redirect_to, $request, $user) { 
$username = $user->user_login; 
$url = home_url("/connections/$username/profile/edit/group/1/"); 
if (isset($user->roles) && is_array($user->roles)) { 
    if (in_array('administrator', $user->roles)) { 
     return $redirect_to; 
    } else { 
     return esc_url($url); 
    } 
} else { 
    return $redirect_to; 
} 
} 
add_filter('login_redirect', 'my_login_redirect', 10, 3); 
相關問題