2016-11-28 8 views
0

私は現在この実例を持っています。 woocommerceメタ以外のすべてが更新されます。WordpressのWoocommerce - ユーザー課金メタアップデート

構文が正しくありませんか?

$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

を意味しますか更新されましたか? –

+0

@ダンはいwoocommerceのメタが空白のまま残っています – vico

+0

おかげで、下の私の答えを参照してください。 –

答えて

1

(rgarエスケープ形式の値を返す重力フォーム機能である)あなたがwp_update_user()に更新しようとしているものの大半はuser_metaフィールドではなく、userフィールドです。

...だから、あなたが使用する必要があります。

update_user_meta($user_id, $meta_key, $meta_value, $prev_value); 

wp_update_user()を自動的に認識し、保存する正しい方法ではなく、Woocommerceのカスタムものがあり含まれていないだろういくつかのuser_metaのフィールドがあります。

したがって、コードを更新してupdate_user_meta()を使用する必要があります。例:

update_user_meta($user_id, 'billing_postcode', rgar($entry, '3.5')); 

はあなたがwp_insert_user()関数に渡すことができるものと同じwp_update_user()の機能(に渡すことができるすべてのuser_metaフィールド参照するにはこちらをチェック - あなたはwoocommerceメタしかし、すべてが取得DOES https://codex.wordpress.org/Function_Reference/wp_insert_user#Notes

関連する問題