WordPress如何定时删除从未登录的恶意注册用户

相信很多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 );//删除用户
    }
}

需要注意的是,如果被删除用户有发表过文章等内容,不指定删除后由谁继承,将会全部删除。当然,这里是恶意注册用户,都没登录过,不存在这个问题,直接删就行了。

未经允许不得转载:主题君 » WordPress如何定时删除从未登录的恶意注册用户
赞(119)

评论抢沙发

评论前必须登录!

账号密码登录