当前位置:代码狗 > WordPress > WP建站 > 正文

WordPress使用WP-Cron 定时任务删除从未登录的用户

开放了注册登录的WordPress网站应该都有被恶意注册的经历,看着后台里一大片的假用户,手动删除的痛苦只有站长知道。WordPress给我们提供了丰富的函数,让我们可以根据条件,自由添加、编辑、删除、修改WordPress网站的数据,用户也是一样。下面跟我一起试试使用WordPress定时任务WP-Cron 来自动删除未登录的用户吧,代码未实测,应该没有问题,欢迎反馈!

WordPress教程

WordPress教程

将下面代码放在主题目录下的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 );//删除用户
	 }
}

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

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏

评论 2

  1. #1

    有没有插件?比如可以选择从来没有评论过的,或者某个时间段注册的,或者没有头像的,或者没有邮件激活的……

    缙哥哥1个月前 (04-10)回复
    • 每网站的注册信息不一样,我也不知道你有哪些。

      代码狗1个月前 (04-10)回复
×

请作者吃根烤肠!

支付宝