wordpress wp_insert_user函数

dan*_*nyo 3 php wordpress

我正在为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 );
Run Code Online (Sandbox Code Playgroud)

我找到了该add_user_meta函数,但这需要一个ID来添加元数据.显然用户尚未创建,因此他们没有ID.关于如何解决这个问题的任何想法?

谢谢,丹

Ric*_*uez 5

对于我从Wordpress文档中理解的内容,该ID字段是可选的.

如果存在,则更新用户,如果不存在,则更新ID用户并且该功能返回新用户.


Rya*_*n S 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
Run Code Online (Sandbox Code Playgroud)

希望这个帮助和其他用户寻找相同的解决方案。