上次倡萌推荐了使用 WP Last Login 来显示用户上次登录时间,但是它只能显示日期,不显示具体时间,今天倡萌分享下代码实现的方法,支持显示到秒。
将下面的代码添加到当前主题的 functions.php 即可:
/**
* WordPress 后台用户列表添加上次登录时间
* https://www.wpdaxue.com/wp-user-last-login-date.html
*/
// 创建一个新字段存储用户登录时间
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 );
代码添加了一个自定义字段来存储登录时间,所以只能显示代码添加后统计到的数据。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
倡萌哥,如果我网站前台只用QQ登陆的呢?好像后台获取不了用户的上次登陆时间,为啥呢?
不好意思,这个不清楚了,可能是QQ登录使用了非官方的一些方式
请问如何批量筛选并删除从未登录的用户?
有个插件可以删除某段时间内没有登录的用户,你可以试试
https://wordpress.org/plugins/bulk-delete/
已经解决咯~谢谢啦~
虽然说并不是用这个插件emmmm
请问如何实现用户首次登陆时间显示啊?
用户列表 如何去掉 或者隐藏 姓名 这一栏啊 内容为空,显示占地方了
这段代码和 mycred积分插件有冲突,用户列表的积分全变成了“从未登录”。望修正。
请问下怎么在用户列表添加上评论数?。。
问个问题,这段代码中“创建一个新字段存储用户登录时间”并没有添加到数据库中是吗?
添加了这三段代码后 没有显示列表啊 – – 就是连默认的已有字段也没了
??
代码都是我测试过才分享的。请注意你添加的位置是否正确,php文件请保存为 utf-8 无 bom格式
“上次登录”、“从未登录”等中文无法显示
请注意php文件要保存为 utf-8 无bom格式
代码与8月14号发的那篇《后台用户列表显示用户注册时间》的代码有冲突,添加后注册时间会全部显示为“从未登录”。
多谢反馈,已更新之前的那篇文章的代码,请访问 http://www.wpdaxue.com/display-user-registerdate.html