2016-11-28 52 views
0

我目前有這個工作示例。 除了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

好吧,請參閱下面的答案。 –

回答

1

大多數時候,你正試圖更新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