相信很多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 );//删除用户
}
}
需要注意的是,如果被删除用户有发表过文章等内容,不指定删除后由谁继承,将会全部删除。当然,这里是恶意注册用户,都没登录过,不存在这个问题,直接删就行了。
声明:本站资源均来源于互联网,如有侵权请联系站长!将第一时间删除本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!资源仅供学习参考请勿商用或其它非法用途,否则一切后果用户自负!