使用密码导入现有用户

时间:2013-12-10 作者:Praveen

我有一个现有的传统PHP站点,有15000名用户,使用base64哈希密码,我想将所有这些用户用他们的密码导入新的wordpress站点,实现这一点的最佳方法是什么?

普拉文

3 个回复
最合适的回答,由SO网友:тнє Sufi 整理而成

您可以使用wp_insert_user. 由于旧数据库的密码位于base64中,因此可以使用base64_decode.

$new_user_data = array(
        \'user_pass\' => \'password\',//pass your decoded password string
        \'user_login\' => \'username\',//pass your username
        \'user_email\' => \'email\',
        \'first_name\' => \'firstname\',
        \'last_name\' => \'lastname\',
        \'role\' => \'author\'//if you want to specify a different role other than default one
);
wp_insert_user( $new_user_data );
您需要将旧数据格式化为csv或xml或文本文件,并相应地读取和传递它们。不要试图一次导入所有15000个用户。分几个部分执行此操作。而且sleep() 功能将是安静的好给服务器一些休息。

SO网友:Subharanjan

WordPress使用MD5加密密码。所以我认为直接导入用户在这里行不通。您可以编写脚本,用新的自动生成的密码导入用户,并向所有用户发送电子邮件。

使用\'authenticate\', \'wp_authenticate_user\' 筛选挂钩以使用现有的用户表验证用户。http://codex.wordpress.org/Plugin_API/Filter_Reference/authenticate

此插件可能有助于:http://wordpress.org/plugins/external-database-authentication/

SO网友:Manish

WP使用md5进行加密,您有base64,因此我认为您不能直接导入相同的密码。但我们都知道base64是可以解码的http://www.php.net/base64_decode 所以很明显,我们可以导入您的旧密码,但有几个WP插件将用户从CSV文件导入WP数据库,并使用新密码。系统还将向该用户发送新的凭证通知邮件。http://wordpress.org/plugins/members-import/ 这个插件可以帮助你做同样的事情。在这个使用CSV文件中的密码字段数据的插件中,将该字符串传递给base64_decode() 作用

如果要导入相同的密码,则无需发送通知邮件。

结束

相关推荐

order users with drag'n'drop?

有很多插件可以让你通过拖放来订购页面和/或帖子。是否有与订单用户类似的内容?如果没有,是否可以为此创建一个插件(即是否有足够的过滤器、操作等)?