WordPress 后台用户列表添加上次登录时间

对于WordPress多用户站点,了解用户的活跃程度是很必要的。在 WordPress 后台用户列表显示用户最后一次登录的时间,可以比较直观地知道用户的活跃度。

WP Last Login 插件就是专门实现这个功能的,由于它使用自己的字段来存储和查询,所以只对安装该插件以后登录过的用户进行记录。但是它只能显示日期,不显示具体时间,也可以用代码实现此功能,且支持显示到秒。

将下面的代码添加到当前主题的 functions.php 即可:

/**
 * WordPress 后台用户列表添加上次登录时间
 */
// 创建一个新字段存储用户登录时间
function insert_last_login( $login ) {
 global $user_id;
 $user = get_userdatabylogin( $login );
 update_user_meta( $user->ID, 'last_login', current_time( 'mysql' ) );
}
add_action( 'wp_login', 'insert_last_login' );
 
// 添加一个新栏目“上次登录”
function add_last_login_column( $columns ) {
 $columns['last_login'] = '上次登录';
 return $columns;
}
add_filter( 'manage_users_columns', 'add_last_login_column' );
 
// 显示登录时间到新增栏目
function add_last_login_column_value( $value, $column_name, $user_id ) {
 $user = get_userdata( $user_id );
 if ( 'last_login' == $column_name && $user->last_login )
 $value = get_user_meta( $user->ID, 'last_login', ture );
 else $value = '从未登录';
 return $value;
}
add_action( 'manage_users_custom_column', 'add_last_login_column_value', 10, 3 );

代码添加了一个自定义字段来存储登录时间,所以同样只能显示代码添加后统计到的数据。

原文来自https://www.wpdaxue.com/wp-user-last-login-date.html