相信很多WordPress站长都遇到过被恶意注册用户,主题君就遇到过,被恶意注册70万用户,导致数据库突增1G大小。所以主题君就想着有没有法子让WordPres…
相信很多WordPress站长都遇到过被恶意注册用户,主题君就遇到过,被恶意注册70万用户,导致数据库突增1G大小。
所以主题君就想着有没有法子让WordPress后台定时删除从未登录的恶意注册用户,然后就是查了查,还真找到了解决方案。
函数代码
//定时任务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 );//删除用户}}
需要注意的是,如果被删除用户有发表过文章等内容,不指定删除后由谁继承,将会全部删除。当然,这里是恶意注册用户,都没登录过,不存在这个问题,直接删就行了。