我正在为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条答案
按热度按时间izj3ouym1#
根据我对Wordpress documentation的理解,
ID
字段是可选的。如果存在,则更新用户;如果不存在,则创建用户,并由函数返回新用户的
ID
。xqk2d5yq2#
如果我没理解错你的问题,你想把新的user_meta添加到当前注册的用户中。
我是这么做的。
希望这个帮助和其他用户寻找相同的解决方案。
7tofc5zh3#
从数组中完全移除ID值,它应该可以工作。(例如,移除'ID' =〉'')
另外,我认为“user_secondary_email”不是新用户数组允许的字段。http://codex.wordpress.org/Function_Reference/wp_insert_user
(In您的示例中,“user_secondry_email”缺少一个“a”)
祝你好运!
iyr7buue4#
在深入研究并检查我的终端之后,我发现这个脚本可以很好地工作。