ユーザーの追加

ユーザーを追加するには、wp_create_user() または wp_insert_user() を使用できます。

wp_create_user() は、ユーザー名、パスワード、およびメールパラメータのみを使用してユーザーを作成しますが、wp_insert_user() はユーザーとそのプロパティを説明する配列またはオブジェクトを受け入れます。

ユーザーの作成

wp_create_user() は、新しい WordPress ユーザーを作成することを可能にします。

それは wp_slash() を使用して値をエスケープします。 PHP の compact() 関数を使用して、これらの値を持つ配列を作成します。wp_insert_user() を使用して挿入操作を実行します。

使用されるパラメータの完全な説明については、wp_create_user() に関する関数リファレンスを参照してください。

作成の例

  1. // check if the username is taken
  2. $user_id = username_exists( $user_name );
  3. // check that the email address does not belong to a registered user
  4. if ( ! $user_id && email_exists( $user_email ) === false ) {
  5. // create a random password
  6. $random_password = wp_generate_password( 12, false );
  7. // create the user
  8. $user_id = wp_create_user(
  9. $user_name,
  10. $random_password,
  11. $user_email
  12. );
  13. }

ユーザーの挿入

  1. wp_insert_user( $userdata );

この関数は、ほとんどの事前定義されたプロパティに対してフィルターを呼び出します。

この関数は、ユーザーを作成する際に user_register アクションを実行します(ユーザー ID が存在しない場合)。

この関数は、ユーザーを更新する際に profile_update アクションを実行します(ユーザー ID が存在する場合)。

使用されるパラメータの完全な説明については、wp_insert_user() に関する関数リファレンスを参照してください。

挿入の例

以下は、ウェブサイトのプロファイルフィールドが入力された新しいユーザーを挿入する方法を示す例です。

  1. $username = $_POST['username'];
  2. $password = $_POST['password'];
  3. $website = $_POST['website'];
  4. $user_data = [
  5. 'user_login' => $username,
  6. 'user_pass' => $password,
  7. 'user_url' => $website,
  8. ];
  9. $user_id = wp_insert_user( $user_data );
  10. // success
  11. if ( ! is_wp_error( $user_id ) ) {
  12. echo 'User created: ' . $user_id;
  13. }

ユーザーの更新

wp_update_user() は、データベース内の単一のユーザーを更新します。更新データは $userdata 配列/オブジェクトで渡されます。

単一のユーザーメタデータを更新するには、update_user_meta() を代わりに使用します。新しいユーザーを作成するには、wp_insert_user() を代わりに使用します。

現在のユーザーのパスワードが更新される場合、クッキーはクリアされます!

使用されるパラメータの完全な説明については、wp_update_user() に関する関数リファレンスを参照してください。

更新の例

以下は、ユーザーのウェブサイトプロファイルフィールドを更新する方法を示す例です。

  1. $user_id = 1;
  2. $website = 'https://wordpress.org';
  3. $user_id = wp_update_user(
  4. array(
  5. 'ID' => $user_id,
  6. 'user_url' => $website,
  7. )
  8. );
  9. if ( is_wp_error( $user_id ) ) {
  10. // error
  11. } else {
  12. // success
  13. }

ユーザーの削除

wp_delete_user() はユーザーを削除し、関連するエンティティを別のユーザー ID に再割り当てするオプションがあります。

ユーザーが削除された後、関数は deleted_user アクションを実行します。

$reassign パラメータが有効なユーザー ID に設定されていない場合、削除されたユーザーに属するすべてのエンティティが削除されます!

使用されるパラメータの完全な説明については、wp_delete_user() に関する関数リファレンスを参照してください。