WordPress的Woocommerce - 用户帐单元更新
问题描述:
我目前有这个工作示例。 除了woocommerce元素之外的所有内容都会更新。WordPress的Woocommerce - 用户帐单元更新
我的语法不正确吗? (rgar是重力形式的函数,返回转义形式值)
$user_id = wp_create_user($username, $password, rgar($entry, '4'));
wp_update_user(array(
'ID' => $user_id,
'role' => 'customer', //works
'first_name' => rgar($entry, '1.3'), //works
'last_name' => rgar($entry, '1.6'), //works
'billing_first_name' => rgar($entry, '1.3'),
'billing_last_name' => rgar($entry, '1.6'),
'show_admin_bar_front' => 'false', //works
'billing_email' => rgar($entry, '4'),
'billing_address_1' => rgar($entry, '3.1'),
'billing_city' => rgar($entry, '3.3'),
'billing_state' => rgar($entry, '3.4'),
'billing_postcode' => rgar($entry, '3.5'),
'billing_phone' => rgar($entry, '6')
));
update_field('field_5629452b8c7de', rgar($entry, '1.3') . ' ' . rgar($entry, '1.6'), 'user_' . $user_id); //works
update_field('field_5629455f8c7df', rgar($entry, '9'), 'user_' . $user_id); //works
update_field('field_569e4be42ab47', rgar($entry, '8'), 'user_' . $user_id); //works
update_field('field_569e4c192ab48', str_replace('-', '', rgar($entry, '7')), 'user_' . $user_id); //works
答
大多数时候,你正试图更新wp_update_user()
是user_meta
领域,而不是user
领域的事情。
...所以,你需要使用:
update_user_meta($user_id, $meta_key, $meta_value, $prev_value);
有几个user_meta
字段wp_update_user()
将自动识别并保存在正确的道路,但Woocommerce的自定义的不包括在那里。
因此,您需要相应地更新您的代码,以便使用update_user_meta()
。例如:这里
update_user_meta($user_id, 'billing_postcode', rgar($entry, '3.5'));
检查,查看所有user_meta
领域,你可以传递给wp_update_user()
功能(同那些可以传递到wp_insert_user()
功能 - https://codex.wordpress.org/Function_Reference/wp_insert_user#Notes
你的意思是一切,但woocommerce元被打更新? –
@丹yes woocommerce元素留空 – vico
好吧,请参阅下面的答案。 –