端くれプログラマの備忘録 WordPress [WordPress] 外部アプリから新規ユーザを追加するには

[WordPress] 外部アプリから新規ユーザを追加するには

wp_userテーブルにレコードを追加してやれば良さそう。

パスワードハッシュの生成はwp-includes/class-phpass.phpに定義されているPasswordHashというクラスで行っているようなので、これをコピーしてきて外部アプリから呼んでやれば良さそう。

というわけで、Laravelだとこんな感じ。

require_once(app_path() . '/class-phpass.php');

// Add user.
$phpass = new \PasswordHash(8, true);
$user = new WpUser();
$user->user_login = $data['username'];
$user->user_pass = $phpass->HashPassword($data['password']);
$user->user_nicename = $data['username'];
$user->user_email = $data['email'];
$user->user_url = '';
$user->user_registered = Carbon::now();
$user->user_activation_key = '';
$user->user_status = 0;
$user->display_name = $data['username'];
$user->save();

参考サイト

【WordPress】wp_usersテーブルを流用してログイン機能を作る at softelメモ
https://www.softel.co.jp/blogs/tech/archives/3793