我试图让用户最后一次登录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分钟前的值。任何帮助,将不胜感激。感谢
答案 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转换为字符串/返回数组