Thêm Cột Ngày Đăng Nhập Gần Nhất và Ngày Đăng Ký Tài Khoản trong WordPress
Mục đích:
Chức năng này giúp quản trị viên WordPress dễ dàng theo dõi:
- Lần đăng nhập gần nhất của từng user.
- Ngày đăng ký tài khoản của user.
Việc này hữu ích trong việc quản lý thành viên, đánh giá mức độ hoạt động của người dùng và hỗ trợ các chiến dịch marketing hoặc bảo mật.

Tính năng chính:
- Tự động lưu ngày đăng nhập gần nhất của user
- Khi một user đăng nhập thành công, thời gian sẽ được lưu vào user_meta với key là last_login.
- Điều này giúp admin theo dõi user nào đang hoạt động gần đây.
- Hiển thị cột mới trong trang quản lý Users (Người dùng):
- Cột Ngày đăng nhập gần nhất: Hiển thị thời điểm user đăng nhập lần cuối. Nếu user chưa từng đăng nhập, cột sẽ hiển thị “Chưa có”.
- Cột Ngày đăng ký: Hiển thị ngày mà user đăng ký tài khoản trên website. Dữ liệu này được lấy trực tiếp từ WordPress (trường user_registered).
Sắp xếp danh sách user dựa trên hai cột mới:
- Quản trị viên có thể sắp xếp danh sách user theo thời gian đăng ký hoặc lần đăng nhập gần nhất, giúp dễ dàng lọc ra những user mới hoặc những user không hoạt động trong thời gian dài.
Lợi ích chức năng :
- Quản lý user hiệu quả: Nhanh chóng tìm được user mới hoặc user lâu ngày không đăng nhập.
- Bảo mật và quản trị: Phát hiện những user không hoạt động hoặc bất thường.
- Hỗ trợ chiến dịch marketing: Tiếp cận lại những user đã lâu không hoạt động.
Dưới đây là code tạo hai cột trong trang quản lý Users:
- Cột Ngày đăng nhập gần nhất – Hiển thị lần đăng nhập cuối của user.
- Cột Ngày đăng ký – Hiển thị ngày user đăng ký tài khoản.
Code đầy đủ thêm cột đăng ký tài khoản của user:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | // 1. Lưu ngày đăng nhập gần nhất khi user đăng nhập function save_last_login($login) { $user = get_user_by('login', $login); update_user_meta($user->ID, 'last_login', current_time('mysql')); } add_action('wp_login', 'save_last_login'); // 2. Thêm hai cột mới vào danh sách Users function add_custom_user_columns($columns) { $columns['last_login'] = 'Ngày đăng nhập gần nhất'; $columns['registration_date'] = 'Ngày đăng ký'; return $columns; } add_filter('manage_users_columns', 'add_custom_user_columns'); // 3. Hiển thị dữ liệu cho từng cột function show_custom_user_columns($value, $column_name, $user_id) { if ($column_name == 'last_login') { $last_login = get_user_meta($user_id, 'last_login', true); return $last_login ? $last_login : 'Chưa có'; } if ($column_name == 'registration_date') { $user = get_userdata($user_id); return date('d/m/Y H:i', strtotime($user->user_registered)); } return $value; } add_action('manage_users_custom_column', 'show_custom_user_columns', 10, 3); // 4. Cho phép sắp xếp theo cột function make_columns_sortable($columns) { $columns['last_login'] = 'last_login'; $columns['registration_date'] = 'registered'; return $columns; } add_filter('manage_users_sortable_columns', 'make_columns_sortable'); |
Cách hoạt động:
Cột “Ngày đăng nhập gần nhất”:
- Lưu thời gian đăng nhập mỗi khi user login thành công.
- Nếu user chưa từng đăng nhập, cột này sẽ hiển thị là “Chưa có”.
Cột “Ngày đăng ký”:
- Lấy trực tiếp từ thông tin user_registered của user trong WordPress.
Ưu điểm:
- Cột Ngày đăng nhập gần nhất được cập nhật tự động.
- Không cần plugin bên ngoài, dễ dàng tích hợp và sắp xếp cột.
Hãy thử thêm đoạn code này vào file functions.php và truy cập vào trang quản lý Users để kiểm tra nhé! Chúc các bạn thành công