2017-08-29 81 views
3

我有一個表單,用戶註冊一個事件,如果他們想要,他們可以即時更新他們的一些結算信息。在WooCommerce中以編程方式更新客戶的結算信息

我有,他們可以更新信息的列表,例如

$inputs = array(
     'billing_city'   => 'City', 
     'billing_postcode'  => 'Postcode', 
     'billing_email'   => 'Email', 
     'billing_phone'   => 'Phone', 
    ); 

然後我試圖使用WC_Customer類更新變化的信息:

$customer = new WC_Customer(get_current_user_id()); 
foreach ($inputs as $key => $label) { 
    $method = 'set_'. $key; 
    $customer->$method($value); 
} 

這似乎直線前進足夠。但是,帳單信息不會更改。

我在做什麼錯?是否有其他功能可以解決這個問題?

Woocommerce文檔並沒有太多解釋。

$user_id = get_current_user_id(); 

$data = array(
    'billing_city'   => $city_value, 
    'billing_postcode'  => $postcode_value, 
    'billing_email'   => $email_value, 
    'billing_phone'   => $phone_value, 
); 
foreach ($data as $meta_key => $meta_value) { 
    update_user_meta($user_id, $meta_key, $meta_value); 
} 

您需要在陣列中設置的值:

回答

相關問題