2015-11-09 84 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