説明
wp_create_user() は、新規ユーザーを作成する関数です(ユーザー名、パスワード、メールのみの簡易版)。
基本構文
wp_create_user( string $username, string $password, string $email = '' ): int|WP_Error
引数
$username:ログイン名$password:パスワード(平文で渡す)$email:メールアドレス
戻り値
作成したユーザーID。失敗時は WP_Error。
使い方(サンプル)
$id = wp_create_user( 'newuser', 'strong-password', 'new@example.com' );
if ( is_wp_error( $id ) ) {
error_log( $id->get_error_message() );
}
注意点
- より細かい項目を指定するなら
wp_insert_user()を使います。 - パスワードをソースに直書きしないようにします。
- 作成されたユーザーの権限は、既定のロール(通常は購読者)です。
実務での使いどころ
- ユーザー名・パスワード・メールアドレスだけで、簡単にユーザーを作るとき。
- インポートや、自動登録の処理で、ユーザーを作るとき。
よくあるミスと対処
- 戻り値が
WP_Errorのときを、考えていない。ユーザー名やメールが重複していると、エラーが返る。 - パスワードを、コードの中に直接書いている。
- ロールや表示名など、他の項目も指定したいのに、これを使っている。その場合は
wp_insert_user()を使う。
NG例
$user_id = wp_create_user( 'taro', 'password123', 'taro@example.com' ); // エラーの確認がない
OK例
$user_id = wp_create_user( 'taro', wp_generate_password(), 'taro@example.com' );
if ( is_wp_error( $user_id ) ) {
return;
}
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| 最小限の項目で作る | wp_create_user() |
| ロールなど、詳細を指定して作る・更新する | wp_insert_user() |
| 既存のユーザーを更新する | wp_update_user() |
関連項目
wp_insert_user()、username_exists()、email_exists()
公式リファレンス:wp_create_user() | Function | WordPress Developer Resources

コメント