Batch users creation

I would like to share a document with about 140 users after password authentication and I want to avoid to create manually all the 140 accounts. Is it possible to create them quickly?

UPDATE: usernames to add are stored into a text file. The question is focused on the batch users creation because I will create a password-protected area where all the users will access to download the document.

Related posts

3 comments

  1. This is a small code I wrote to batch create generic users

    <?php $lock = true; //true = disabled (locked)
    
    if(!$lock) { // if not locked
        require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );
    
        $last_registered_user = $wpdb->get_row("SELECT ID FROM $wpdb->users ORDER BY ID DESC LIMIT 1");
        $new_id = $last_registered_user->ID + 1;
        $limit = false; // extra lock
    
        while($new_id <= $limit) {
            wp_create_user( 'user_'.$new_id, 'changeme', 'user'.$new_id.'@example.com' );
            $new_id++;
        }
    } else { // if locked ?>
        <h5>This script is locked to prevent accidental use.</h5>
    <?php
    }
    ?>
    

    Setup

    A couple things to do:

    1. Change unlock the script by setting $lock to false.
    2. Change the path to wp-load.php.
    3. Change $limit to the number of users you want to create.

    Use

    This script will create $limit number of users with the username user_andTheirID and their e-mail address userTheirID@example.com. To edit the username, once the users have been created, you will have to edit the database itself.

    Extra

    If you want users to change their passwords from the default, changeme, try the Force Password Change plugin by Simon Blackbourn. This will require users to change their password on their first log in. Make sure you install this plugin BEFORE you run the batch create, otherwise the right values will not be created for the existing users.

  2. You’ll need a plugin to do batch import.

    This one allows you to import records from a CSV file.

Comments are closed.