私は別のワードプレスサイトからユーザーデータのセットを持っていて、私は別のワードプレスウェブサイトでそれらのそれぞれに対してユーザーを作成したいです。それはwp_insert_user($user)
でうまく動作しますが問題はパスワードがaginハッシュされます。 tそのログイン情報でログインするので、どうやってハッシュパスワードでユーザを作成するか、ハッシュパスワードの作成をやめることができますか
データベースのパスワード欄を更新する必要があります(下記参照)。しかし、これだけではうまくいきません。パスワードハッシュはあなたのwp-config.php
のSALTキーを使って塩漬けされます(これは秘密にしておく必要があります)。あなたの新しいサイトはパスワード確認が機能するために同一のキーを持つ必要があるでしょう。
次の関数は、(データベース内の)指定されたユーザーのパスワードフィールドを、提供された(ハッシュされた)パスワードで更新します。
/**
* @param int $user_id The user ID
* @param string $hashed_password The hashed password
* @return int The number of rows updated (should be 1 or 0 ).
*/
function wpse_update_password_field( $user_id, $hashed_password ){
global $wpdb;
return $wpdb->update(
$wpdb->users,
array( 'user_pass' => $hashed_password ),
array( 'ID' => $user_id )
);
}
ハッシュパスワードを作成するためによくこれを見ている:
http://codex.wordpress.org/Function_Reference/wp_hash_password
正しくハッシュ化されていないようです。例えば:
$password_hashed = '$P$B55D6LjfHDkINU5wF.v2BuuzO0/XPk/';
$plain_password = 'test';
それはMD5を利用しています。
wp_hash_passwordを読んでみてください