Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Tăng tốc độ WordPress
    • Tối ưu website WordPress
    • Thiết kế website WordPress
    • Viết plugin WordPress
    • Sửa lỗi nâng cấp website
  • Bảng giá
  • Quy trình làm việc
  • Giới thiệu
  • Liên Lạc
Trang chủ » Wordpress » Thêm cột “Last Login” user đăng nhập lần cuối trong WordPress

Thêm cột “Last Login” user đăng nhập lần cuối trong WordPress

Thứ Năm, 26/12/2019 by Hoàng Quách

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Trong bài trước mình có hướng dẫn thêm cột hiển thị ngày đăng ký user trong quản trị WordPress. Hôm nay mình sẽ hướng dẫn làm thế nào để biết thời điểm cuối cùng người dùng đã đăng nhập vào website của bạn. Kết quả trông như thế này.

Bước 1. Lưu thời điểm cuối Login trong User Meta

Trước khi hiển thị ngày đăng nhập cuối cùng cho mỗi tài khoản người dùng, chúng ta phải thu thập nó trong mỗi lần người dùng đăng nhập vào website của bạn. Mặc định, WordPress không thu thập bất kỳ thông tin về user, vì vậy bạn phải code thêm cho tính năng này.

Có hai loại đăng nhập trong WordPress:

  • qua form wp-login.php   
  • hoặc qua hàm  wp_signon()     trong CODE.

May mắn wordpress có cung cấp hook wp_login cho cả 2 trường hợp đăng nhập trên!

add_action( 'wp_login', 'misha_collect_login_timestamp', 20, 2 );
 
function misha_collect_login_timestamp( $user_login, $user ) {
 
	update_user_meta( $user->ID, 'last_login', time() );
 
}

Đơn giản chỉ  sao chép đoạn mã này đến tệp functions.php của giao diện hiện tại. Đoạn code này cho phép WordPress bắt đầu lưu thời gian  vào trong bảng wp_usermeta mỗi khi một người dùng đăng nhập vào trang web của bạn.

Bước 2. Hiển thị thông tin trên trang All Users

Bây giờ chúng ta sẽ thêm một mới trong trang liệt kê danh sách users để hiển thị thời điểm mà người dùng có đăng nhập vào lần cuối. Thêm đoạn mã sau đây vào file functions.php

add_filter( 'manage_users_columns', 'misha_add_last_login_column' );
add_filter( 'manage_users_custom_column', 'misha_last_login_column', 10, 3 );
 
function misha_user_last_login_column( $columns ) {
 
	$columns['last_login'] = 'Last Login'; // column ID / column Title
	return $columns;
 
}
 
function misha_last_login_column( $output, $column_id, $user_id ){
 
	if( $column_id == 'last_login' ) {
 
		$last_login = get_user_meta( $user_id, 'last_login', true );
		$date_format = 'j M, Y';
 
		$output = $last_login ? date( $date_format, $last_login ) : '-';
 
	}
 
	return $output;
 
}

Sau đó tải lại trang, Kết quả  chúng ta có được giống như sau:

Thêm xắp xếp (Sortable) cho cột

Bước này không bắt buộc nhưng khá hữu ích vì nó cho phép bạn xắp xếp thời gian nếu bạn muốn biết người dùng nào đang hoạt động tích cực ở gần đây.

Lưu ý, không có một quy tắc chung khi bạn đang thực hiện sắp xếp cột, đối với cột tùy chỉnh user ‘Last Login’ có thể thực hiện theo cách  dưới đây, nhưng nó hoàn toàn khác với custom post type.

add_filter( 'manage_users_sortable_columns', 'misha_sortable_columns' );
add_action( 'pre_get_users', 'misha_sort_last_login_column' );
 
function misha_sortable_columns( $columns ) {
 
	return wp_parse_args( array(
	 	'last_login' => 'last_login'
	), $columns );
 
});
 
function misha_sort_last_login_column( $query ) {
 
	if( !is_admin() ) {
		return $query;
	}
 
	$screen = get_current_screen();
 
	if( isset( $screen->id ) && $screen->id !== 'users' ) {
		return $query;
	}
 
	if( isset( $_GET[ 'orderby' ] ) && $_GET[ 'orderby' ] == 'last_login' ) {
 
		$query->query_vars['meta_key'] = 'last_login';
		$query->query_vars['orderby'] = 'meta_value';
 
	}
 
	return $query;
 
} );

Chúc bạn thành công!

Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên Twitter và Facebook

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Bài viết liên quan:

  1. Tùy biến thêm trường thông tin user meta – WordPress
  2. Lỗi đăng nhập wordpress
  3. Cách đăng nhập bằng email cho tài khoản wordpress
  4. Quên mật khẩu wordpress – lấy lại tài khoản đăng nhập
  5. Hàm login logout tài khoản người dùng wordpress
  6. Thêm hoặc xóa widgets trong WordPress dashboard
  7. Làm sao sửa bài viết WordPress trên frontend
  8. Tạo các Tabs nội dung trong wordpress admin
  9. Thay đổi avatar cho user trong wordpress
  10. Cách chèn file js/script và css/stylesheet trong wordpress.

Chuyên mục: Wordpress Tìm kiếm: custom user meta, login, user meta

Đăng ký nhận bài viết mới

Vui lòng điền chính xác email ở bên dưới để nhận thông báo bài viết mới.

Bạn đã đăng ký thành công!

Lỗi! hãy làm lại.

thông tin của bạn được 100% bảo mật...

Tôi giúp gì cho bạn?

Nhận bài viết mới

Vui lòng điền chính xác email ở bên dưới để nhận thông báo bài viết mới.

Cám ơn bạn đã đăng ký.

Lỗi, hãy làm lại

thông tin của bạn được 100% bảo mật...

HOÀNG WEB

Địa chỉ: Tây Sơn, Phường Quang Trung, Quận Đống Đa, Hà Nội

Hotline: 0987 342 124 (8h:00 – 21h:00)

Email: [email protected]

Website: www.hoangweb.com

KẾT NỐI VỚI TÔI

  • Facebook
  • Snapchat

SẢN PHẨM

  • Plugin Auto-Sync Google Shopping cho WooCommerce
  • Phần mềm chặn click ảo
  • WP2Speed.com – Tăng tốc WordPress

LIÊN KẾT

  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2021 | All rights reserved | HOANG WEB
Mọi hình thức sao chép nội dung trên website này mà chưa được sự đồng ý đều là trái phép.