我目前有这个有效的例子。 除了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 :(得分: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()
。 E.g:
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