wordpress如何删除长时间不登录的用户/利用sql数据库代码 | 芊芊精典-m6米乐app登录

资源分享评论3k
摘要

wordpress如何利用sql数据库代码删除不活跃用户

wordpress如何删除长期不活跃用户,删除最近1年未登录用户删除空闲用户, 下面我们就来准备删除一些很久未登录的僵尸用户。

由于wordpress网站之前按照网上教程照搬了综合版代码 , 支持显示用户昵称、网站、注册时间、注册ip、最近登录时间、登录ip,默认按照注册时间排序:

分析数据库发现 网站的wp_usermeta数据表占用很多空间,下面开始操作删除不活跃用户,操作前请先将数据库备份,以免操作失误误删无法找回。

以下是小白手法,欢迎大神提供更好的方法:

1.根据最近登录时间列出用户id作为分析

将数据库的用户表wp_users 和用户信息表wp_usermeta 里的用户id ,最后登录时间的标签和最后登录时间筛选出来作为分析。

select `id`,`user_id`,`meta_key`,`meta_value` from `wp_users` inner join `wp_usermeta` on `wp_users`.`id`=`wp_usermeta`.`user_id` where `wp_usermeta`.`meta_key` like 'last_login'

2.由于网站最后是2017年9月份建立的距今差不多2年,决定删除最近半年未登录的用户。

先做筛选看是否正确。

先尝试筛选最后登录时间为2017年的用户,一定要用多条件查询,因为wp_usermeta表里面还有你的注册时间,也是时间格式,不用多条件查询会被误删。

select `id`,`user_id`,`meta_key`,`meta_value` from `wp_users` inner join `wp_usermeta` on `wp_users`.`id`=`wp_usermeta`.`user_id` where( `wp_usermeta`.`meta_value` like ' 17%') and(`wp_usermeta`.`meta_key` like 'last_login')

返回数据分析一下没问题。

wordpress如何删除长时间不登录的用户/利用sql数据库代码

3.分析上面筛选数据返回正确的,开始删除不活跃用户。

如以下格式删除 最后登录 时间为2017年的用户,2018年的类似 条件更改为 2018- 即可。

delete from `wp_users` where `wp_users`.`id` = any(select `user_id` from `wp_usermeta` where (`wp_usermeta`.`meta_value` like ' 17%') and(`wp_usermeta`.`meta_key` like 'last_login'))

以下删除2019年每月的用户,可以一个一个月的删,如以下删除 最后登录 时间 为2019年1月的用户。

delete from `wp_users` where `wp_users`.`id` = any(select `user_id` from `wp_usermeta` where (`wp_usermeta`.`meta_value` like ' 19-01%') and(`wp_usermeta`.`meta_key` like 'last_login'))

其他月份类似………..如以下删除 删除 最后登录 时间 为2019年6月的用户。

delete from `wp_users` where `wp_users`.`id` = any(select `user_id` from `wp_usermeta` where (`wp_usermeta`.`meta_value` like ' 19-06%') and(`wp_usermeta`.`meta_key` like 'last_login'))
评论  0  访客  0

发表评论