如果wordpress wp_insert_user中还没有usermeta字段名匹配,表单提交数据会去哪里?
具体来说,我在表单提交中包含了Company Name和Phone作为字段,但是当我从wp_users和wp_usermeta表中提取数据时,我看不到这些新字段。
处理wp_insert_user函数的代码:
if(empty($errors)){
$new_user_id = wp_insert_user(array(
'user_login' =\> $user_login,
'user_pass' =\> $user_pass,
'user_email' =\> $user_email,
'first_name' =\> $user_first,
'last_name' =\> $user_last,
'company' =\> $user_company,
'user_registered' =\> date('Y-m-d H:i:s'),
'role' =\> 'subscriber',
));
我尝试了上面的代码,并期望在user或usermeta表中看到这些字段,但我没有。
2条答案
按热度按时间9ceoxa921#
在本例中,您在注册表单中添加了两个新字段“Company Name”和“Phone”,并试图将其值保存为用户元数据,然后您需要按照以下代码将这些值作为键值对传递到$userdata数组中:
创建用户后,您可以使用WP中的get_user_meta函数从wp_usermeta表中获取这些字段。请尝试以下代码:
2ic8powd2#
请参考此文档以了解更多详细信息。您无法添加wp_insert_user()选项指定之外的项目,但您可以使用update_user_meta()函数指定其他用户 meta数据,如下所示。
我需要进行初始的wp_insert_user(array)调用,然后使用该调用中的相同$user_id,通过调用update_user_meta()插入用户 meta。
文档链接:https://developer.wordpress.org/plugins/users/working-with-user-metadata/#programmatically
验证码: