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 
+0

你的意思是一切,但woocommerce元被打更新? –

+0

@丹yes woocommerce元素留空 – vico

+0

好吧,请参阅下面的答案。 –

大多数时候,你正试图更新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