获取上次用户登录时间

时间:2015-11-09 22:53:38

标签: php wordpress

我试图让用户最后一次登录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') );
}

这让我/我的用户最后一次登录但如果我在5分钟前登录,那么这就是我得到的。我上次需要用户处于活动状态,所以如果我在2周前访问该网站,我想获得该值而不是5分钟前的值。任何帮助,将不胜感激。感谢

1 个答案:

答案 0 :(得分: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()和{{1转换为字符串/返回数组