04/10/2018, 19:55

Nắm bắt thời gian đăng nhập lần cuối của các user trong WordPress

Nếu các bạn muốn nắm giữ thông tin về thời gian đăng nhập lần cuối của các thành viên (user) hoạt động trên website hay blog của các bạn, thì thử dùng đoạn code mà mình chia sẻ cho các bạn trong bài viết này xem sao. Với đoạn code này, các bạn chỉ việc copy và dán nó vào file functions.php có sẵn ...

Nếu các bạn muốn nắm giữ thông tin về thời gian đăng nhập lần cuối của các thành viên (user) hoạt động trên website hay blog của các bạn, thì thử dùng  đoạn code mà mình chia sẻ cho các bạn trong bài viết này xem sao. Với đoạn code này, các bạn chỉ việc copy và dán nó vào file functions.php có sẵn trong folder theme mà các bạn đang dùng.

Nắm bắt thời gian đăng nhập lần cuối của các user trong WordPress

// set the last login date
add_action('wp_login','set_last_login', 0, 2);
function set_last_login($login, $user) {
    $user = get_user_by('login',$login);
    $time = current_time( 'timestamp' );
    $last_login = get_user_meta( $user->ID, '_last_login', 'true' );
    if(!$last_login){
    update_usermeta( $user->ID, '_last_login', $time );
    }else{
    update_usermeta( $user->ID, '_last_login_prev', $last_login );
    update_usermeta( $user->ID, '_last_login', $time );
    }
}
// get last login date
function get_last_login($user_id,$prev=null){
  $last_login = get_user_meta($user_id);
  $time = current_time( 'timestamp' );
  if(isset($last_login['_last_login_prev'][0]) && $prev){
          $last_login = get_user_meta($user_id, '_last_login_prev', 'true' );
  }else if(isset($last_login['_last_login'][0])){
          $last_login = get_user_meta($user_id, '_last_login', 'true' );
  }else{
    update_usermeta( $user_id, '_last_login', $time );
    $last_login = $last_login['_last_login'][0];
  }
  return $last_login;
}

Để hiển thị thông tin này, các bạn chỉ việc copy đoạn code bên dưới vào vị trí mà các bạn muốn hiển thị.

 // show last login date
  global $current_user;
  get_currentuserinfo();
  echo 'Previous: Login date: ' . date("Y-m-d h:m:s", get_last_login($current_user->ID,true)) . ';
  echo 'Current: Login date: ' . date("Y-m-d h:m:s", get_last_login($current_user->ID)) . ';

Ngoài ra ,các bạn còn có thể so sánh thời gian đăng nhập lần cuối với thời gian hiện tại để lấy ra số ngày đã không online.

 // how many days since last login
  global $current_user;
  get_currentuserinfo();
  $now = time();
  $last_login = get_last_login($current_user->ID,true);
  $datediff = $now - $last_login;
  echo '

Days since last login: ' . floor($datediff/(60*60*24)) . '

';

Chúc các bạn có thể sử dụng những đoạn code mà mình chia sẻ này cho các bạn theo đúng với ý của mình.

Tags: login wordpress code

Chuyên Mục: WordPress

Bài viết được đăng bởi webmaster

0