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

Source: Thêm cột user đăng nhập lần cuối WordPress
Làm cách nào để thêm cột người dùng đăng nhập lần cuối trong WordPress?
Hôm nay tôi sẽ hướng dẫn các bạn cách tìm ra lần cuối cùng một người dùng đăng nhập vào trang web của bạn.


Bước 1. Lưu thời gian đăng nhập lần cuối trong Meta người dùng
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 tôi phải thu thập thông tin đó mỗi khi người dùng đăng nhập vào trang web của bạ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() );
}
Bạn sao chép đoạn mã này vào tệp functions.php của theme hiện tại.
Mã này cho phép WordPress bắt đầu tiết kiệm thời gian trong bảng wp_usermeta mỗi khi 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 Tất cả người dùng
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;
}
Thêm có thể sắp xếp cho các cột
Bước này là tùy chọn nhưng khá hữu ích vì nó cho phép bạn lên lịch thời gian nếu bạn muốn biết những người dùng nào đang hoạt động gần đây.
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;
} );
Phần kết
Chỉ với đoạn mã đơn giản trên, bạn đã hiển thị cột người dùng đăng nhập cuối cùng trong WordPress.
Nếu thấy hay các bạn có thể theo dõi chuyên mục thủ thuật wordpress để biết thêm nhiều kiến thức mới nhé.
Theo dõi fanpage để nhận những bài viết mới nhất: Hocwordpress Group
Chúc các bạn có những kiến thức bổ ích và thú vị về wordpress!
Via: sieucoder.com
from sieucoder.com https://ift.tt/3Jw9VIr
via Sieucoder.com
Nhận xét
Đăng nhận xét