0
votes

I am adding woocommerce customer programmatically using wc_create_new_customer function, first name, last name, email is added successfully, but custom fields are not adding. I have tried two ways 1st one:

$email= $arr_item->email;
enter code here$username = strstr($arr_item->email, ‘@’, true);
$password = wp_generate_password();

$args = array(
“first_name” => $arr_item->first_name,
“billing_first_name” => $arr_item->first_name,
“last_name” => $arr_item->last_name,
“billing_last_name” => $arr_item->last_name,
“billing_email” => $arr_item->email,
“billing_phone” => $arr_item->phone,
“agency_name” => $arr_item->agency_name,
“billing_company” => $arr_item->agency_name,
“agency_country” => $arr_item->agency_country,
“agency_city” => $arr_item->agency_city,
“agency_state” => $arr_item->agency_state
);
$customer_id = wc_create_new_customer( $email, $username, $password, $args );

2nd one

$customer_id = wc_create_new_customer( $email, $username, $password );
update_user_meta( $customer_id, ‘agency_name’,$arr_item->agency_name);
update_user_meta( $customer_id, ‘billing_company’, $arr_item->agency_name);
update_user_meta( $customer_id, ‘agency_country’, $arr_item->agency_country);
update_user_meta( $customer_id, ‘agency_city’, $arr_item->agency_city);
update_user_meta( $customer_id, ‘agency_state’,$arr_item->agency_state);

I am trying to add custom field user meta table while creating a customer using wc_create_new_customer So that I can access these data using get_user_meta().

Please help if anyone has any ideas.

Thanks in advance

1
Hi everyone, I am still facing issue, is there anyone to help me. - Chandan Soni

1 Answers

-2
votes

You need to save a customer. Add this 2 lines at the end.

$customer = get_user_by('id', $customer_id);
$customer->save();