好的,有两件事要做:
获取last_active 对于用户,计算自last_active设置last_active_days_ago 对于用户,您可以这样做:
function daysAgo( $time ) {
$time = time() - $time;
$daysAgo = $time / 86400; // calculate days
return $daysAgo;
}
function set_user_last_active_days_ago( $user_id ) {
// get last time active
$time = get_user_meta( get_current_user_id(), \'last_active\', true );
if ( !empty($time) ) :
// calculate time since last_active
$time = daysAgo( strtotime($time) );
// update user meta
update_user_meta( $user_id, \'last_active_days_ago\', $time );
endif;
}
set_user_last_active_days_ago( get_current_user_id() );
您还必须设置
last_active 某处:
function set_user_last_active( $user_id ) {
update_user_meta( $user_id, \'last_active\', date(\'Y-m-d H:i:s\') );
}
set_user_last_active( get_current_user_id() );
注意:您还可以在中传入自定义用户ID
set_user_last_active 和
set_user_last_active_days_ago 而不是当前用户ID。
Update: 你可以打电话set_user_last_active 和set_user_last_active_days_ago 在你想做的每一件事中。假设您要设置last_active 每次用户登录WordPress时:
add_action(\'wp_login\', \'user_login_last_active\', 10, 2);
function user_login_last_active($user_login, $user) {
set_user_last_active( $user->ID );
}
何时设置数据完全取决于您。可以在每次登录(如上所述)或每次
post is saved 或者
profile is updated.
如果这些操作都不符合您的需要,您可以查看可用的Actions at the Codex.