2015-11-09 88 views
0

我試圖獲取用戶最後一次登錄WordPress網站的時間。現在我使用這段代碼:獲取上次登錄用戶

add_action('wp_login', 'cd_set_last_login', 10, 2); 
function cd_set_last_login($user_login, $user) { 
    update_user_meta($user->ID, 'last_login', current_time('mysql')); 
} 

這讓我最後一次I /用戶登錄,但如果我在5分鐘內登錄前,那麼這是我所得到的。我需要上次用戶是活躍的,所以如果我在2周前在網站上,我想要得到這個值,而不是5分鐘前的值。任何幫助,將不勝感激。由於

回答

0

只需使用一個數組

add_action('wp_login', 'cd_set_last_login', 10, 2); 
function cd_set_last_login($user_login, $user) { 
    if($arr= get_user_meta($user->ID, 'last_login', true)){ 
     $arr[]= current_time('mysql'); 
    } else { 
     $arr= array(); // reset arr 
     $arr[]= current_time('mysql'); 
    } 
    update_user_meta($user->ID, 'last_login', $arr); 
} 

我沒有檢查這一點,但你可能有一個問題,節省了陣列到MySQL,我認爲update_user_meta()將自動序列化數組,但如果沒有,你需要使用功能serialize()unserialize()轉換成一個字符串/回到一個數組

+0

不值得回覆? – David