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

作者: 站长 上传时间: 浏览: N/A 下载: N/A 格式: N/A 评分: N/A

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



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

Leave a Comment