相信很多WordPress站长都遇到过被恶意注册用户,悟空搜就遇到过,被恶意注册70万用户,导致数据库突增1G大小。
所以悟空搜就想着有没有法子让WordPress后台定时删除从未登录的恶意注册用户,然后就是查了查,还真找到了解决方案。
函数代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 //定时任务
add_filter( 'cron_schedules', 'salong_add_every_time' );
function salong_add_every_time( $schedules ) {
$schedules['every_time'] = array(
'interval' => 600,
'display' => __( '每隔10分钟', 'salong' )
);
return $schedules;
}
if ( ! wp_next_scheduled( 'salong_add_every_time' ) ) {
wp_schedule_event( time(), 'every_time', 'salong_add_every_time' );
}
add_action( 'salong_add_every_time', 'salong_every_time_update_douban_average' );
function salong_every_time_update_douban_average() {
$blogusers = get_users(array( 'meta_key' => 'jh' ,'meta_value' => '' ));//我这里检查jh字段为空的用户,大家可以自由修改
foreach ( $blogusers as $user ) {
wp_delete_user( $user->ID );//删除用户
}
}需要注意的是,如果被删除用户有发表过文章等内容,不指定删除后由谁继承,将会全部删除。当然,这里是恶意注册用户,都没登录过,不存在这个问题,直接删就行了。
原文链接:https://xiaohost.com/2164.html,转载请注明出处。
评论0