开放了注册登录的WordPress网站应该都有被恶意注册的经历,看着后台里一大片的假用户,手动删除的痛苦只有站长知道。WordPress给我们提供了丰富的函数,让我们可以根据条件,自由添加、编辑、删除、修改WordPress网站的数据,用户也是一样。下面跟我一起试试使用WordPress定时任务WP-Cron 来自动删除未登录的用户吧,代码未实测,应该没有问题,欢迎反馈!
将下面代码放在主题目录下的functions.php文件中即可。
复制
//定时任务 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 );//删除用户 } }
需要注意的是,如果被删除用户有发表过文章等内容,不指定删除后由谁继承,将会全部删除。当然,这里是恶意注册用户,都没登录过,不存在这个问题,直接删就行了。
评论 (5)