Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

I would use a plugin for that. When done, remove the plugin.

This one by Dagon Design seems to do the trick, but it was not updated for wordpress 3. Don't know if it will work, so you migth want to try it on a sample wordpress.

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with wordpress.stackexchange
scroll top