私はbase64ハッシュパスワードを持つ15000ユーザーの既存のレガシーPHPサイトを持っています、私は彼らのパスワードで新しいワードプレスサイトにこれらすべてのユーザーをインポートしたいと思います、これを実現する最善の方法は何ですか?
Praveen
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()
関数はサーバーに休息を与えるのに静かです。
WordPressはパスワードの暗号化にMD5を使用しています。だから私はユーザーの直接インポートはここで動作するとは思わない。自動生成された新しいパスワードを使用してユーザーをインポートし、すべてのユーザーに電子メールを送信するスクリプトを作成することもできます。
OR
既存のユーザーテーブルでユーザーを検証するには、'authenticate', 'wp_authenticate_user'
フィルターフックを使用します。 http://codex.wordpress.org/Plugin_API/Filter_Reference/authenticate
このプラグインは役立つかもしれません: http://wordpress.org/plugins/external-database-authentication/
WPは暗号化にmd5を使用していますが、base64があるので、同じパスワードを直接インポートできるとは思わない。しかし、base64は解読可能であることを私たち全員が知っているように http://www.php.net/base64_decode ですので、古いパスワードをインポートできることは明らかです同様に、CSVファイルからWPデータベースへ、そして新しいパスワードでユーザーをインポートするWPプラグインがいくつかあります。そして、システムはそのユーザーにも新しい資格情報通知メールを送信します。 http://wordpress.org/plugins/members-import/ このプラグインは同じことをするのに役立ちます。 CSVファイルからのパスワードフィールドデータが使用されるこのプラグインでは、その文字列をbase64_decode()
関数に渡します。
同じパスワードをインポートしている場合は、通知メールを送信する必要はありません。