最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

functions - About cron delete user with meta_key

programmeradmin1浏览0评论

i have problems :

  • i wanna create cron auto delete user with user meta_key Ex: Use have meta_key = not_verified ( in wp_usermeta )

so, i wanna delete all user have meta_key = not_verified !

And i tried code below, but it not working, please help me !

function delete_user_not_verified() {
    global $wpdb;
    $held_duration = iwp_option( 'delete_user_not_verified');
    $sql = "SELECT ID FROM {$wpdb->users} WHERE user_id = %s AND meta_key = %s AND (user_registed + INTERVAL %d HOUR) < %s ";
    $users = $wpdb->get_results($wpdb->prepare($sql, 'ID', 'not_verified', $held_duration, current_time('mysql')));
    if($users){
        foreach ($users AS $user){
            wpmu_delete_user($user->ID);
        }
    }

    if ( $held_duration >= 1 ) {
        wp_schedule_single_event( time() + ( absint( $held_duration ) * 60 * 60), 'iwp_delete_user_not_verified' );
    }
}

held_duration

array(
                            'name' => __( 'Time to keep draft user (in hours)', 'iwproperty' ),
                            'desc' => __( 'Leave blank if you do not want to automatically delete', 'iwproperty' ),
                            'id'   => 'delete_user_not_verified',
                            'type' => 'text',
                            'std' => '24',
                        ),

iwp_delete_user_not_verified

wp_clear_scheduled_hook( 'iwp_delete_user_not_verified' );
    $held_duration = iwp_option( 'delete_user_not_verified', '48' );
    if ( $held_duration >= 1 ) {
        wp_schedule_single_event( time() + ( absint( $held_duration ) * 60 * 60), 'iwp_delete_user_not_verified' );
    }
发布评论

评论列表(0)

  1. 暂无评论