5

WordPressのカスタム登録フォームを作成中です。
私の問題は、カスタム ユーザー メタを追加することです。この関数wp_insert_userでは、WordPress ユーザー テーブル内にデフォルト フィールドを追加することしかできないと思います。

ここに私の現在のテストコードがあります:

$username = '12344';
$password = '1111';
$user_data = array(
'ID' => '',
'user_pass' => $password,
'user_login' => $username,
'display_name' => $loginName,
'first_name' => $firstName,
'last_name' => $lastName,
'role' => get_option('default_role') ,
'user_secondry_email' => 'test@tst.com'// Use default role or another role, e.g. 'editor'
);
$user_id = wp_insert_user( $user_data );
wp_hash_password( $password );

関数は見つかりましたadd_user_metaが、メタデータを追加するには ID が必要です。明らかに、ユーザーはまだ作成されていないため、ID はありません。これを回避する方法についてのアイデアはありますか?

ありがとう、ダン

4

3 に答える 3

6

Wordpressのドキュメントから私が理解していることについては、IDフィールドはオプションです。

存在する場合はユーザーが更新され、存在しない場合は作成されID、新しいユーザーの が関数によって返されます。

于 2012-09-04T14:56:07.443 に答える
5

あなたの問題を正しく理解できたら、現在の登録ユーザーに新しい user_meta を追加してください。

これが私がやった方法です。

// this code insert the user, same on your code above just remove the ID field :)
$new_userid = wp_insert_user( $user_data );

$is_success = add_user_meta( $new_userid, 'position', 'programmer', true );
if( $is_success  ) {
   echo 'Successfully added';
} else {
   echo 'Error on user creation';
}

**NOTE:**
$new_userid = Is the return value from adding our new user and use that ID in adding new user meta

このヘルプと同じ解決策を探している他のユーザーを願っています。

于 2012-12-03T10:51:28.163 に答える