How can I import users into WordPress?

I have a spreadsheet (XLS) of names, email addresses, and passwords from another content management system. Is there a way to import these folks as users (I think subscriber level, but some may be Editors as well) into WordPress?

Related posts

Leave a Reply

4 comments

  1. A new file, import.php:

    <?php
    
    define('WP_INSTALLING', true); // this is required. i forget why!
    
    include '/path/to/wordpress/wp-load.php';
    include ABSPATH . WPINC . '/registration.php'; // wp_insert_user()
    
    $userdata = array('user_login' => 'jdoe', 'user_pass' => 'foobar');
    $user_id = wp_insert_user($userdata);
    

    Check wp_insert_user() for other possible fields. Run update_usermeta() for any additional needed meta fields. (Including user level, though there may be convenience functions.)

    Note that here at work we redefine the wp_authenticate() function (it’s in pluggable.php, so it can be replaced by defining it in your own plugin) and creating user accounts on-demand if they don’t exist at login time.

  2. You can also directly import them using the SQL databases, running an SQL query using the code from the downloaded SQL file from the previous server which contains all the users. That’s what I would do, it is very easy.