Nếu các bạn muốn nắm giữ thông tin về thời gian đăng nhập cuối cùng của các thành viên (user) hoạt động trên website hay blog của các bạn, bạn có thể sử dung đoạn code mà mình chia sẻ trong bài viết này.

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:

Lưu thông tin


// 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ị

Để 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 thành công!

Recent posts

iPhone 16 Pro Max lộ giá bán

iPhone 16 Pro Max lộ giá bán

Dự kiến giá của iPhone 16 Pro Max sẽ tăng thêm 100 USD (khoảng 2,5 triệu đồng) với bất kỳ […]

Người dùng sắp được chuyển ảnh dễ dàng từ Google Photos sang Apple iCloud

Người dùng sắp được chuyển ảnh dễ dàng từ Google Photos sang Apple iCloud

Trong một phần của sáng kiến Chuyển tải Dữ liệu (Data Transfer Initiative – DTI), người dùng sẽ có thể […]

iOS 18 giúp ‘Trung tâm điều khiển’ trên iPhone đổi mới hoàn toàn

iOS 18 giúp ‘Trung tâm điều khiển’ trên iPhone đổi mới hoàn toàn

Apple sẽ thiết kế lại hoàn toàn khu vực Trung tâm điều khiển trên iPhone trong bản cập nhật iOS […]

iPhone 16 Pro sẽ sử dụng màn hình ‘xịn nhất’ của Samsung

iPhone 16 Pro sẽ sử dụng màn hình ‘xịn nhất’ của Samsung

iPhone 16 Pro và 16 Pro Max được dự đoán là những mẫu điện thoại đầu tiên trang bị tấm […]

Cách đọc tin nhắn trên Zalo mà người gửi không biết

Cách đọc tin nhắn trên Zalo mà người gửi không biết

Nếu là người thường xuyên sử dụng Zalo để nhắn tin hay gọi điện, nhưng lại muốn “ẩn danh” và […]

© 2021 Tạp Chí CNTT. Mr Hoang