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.
// 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.
Chuyên Mục: WordPress
Bài viết được đăng bởi webmaster