伍商务 :如何保存客户地址详细信息



我正在为WooCommerce编写一个Wordpress插件。
我想更新客户的送货地址。
这是我的代码:

$woo_customer = WC()->customer;
$woo_customer->set_location( $address->country,
                             $address->state, 
                             $address->postCode, 
                             $address->city );
$woo_customer->set_address( $address->street1 );
$woo_customer->set_address_2( $address->street2 );
$woo_customer->save_data();

这一切都运行良好,如果我检查国家/地区值,它似乎已保存:

error_log( $address->country ); // outputs "United Kingdom"  
error_log( $woo_customer->get_country() ); // outputs "United Kingdom"

但是,当我在 Wordpress 管理员(用户>所有用户>(我的用户((中查看此用户时,他们的客户送货地址详细信息都是空白的 - 没有保存任何内容。


我如何告诉WooCommerce/Wordpress使用我输入的这些详细信息更新用户的送货地址?

客户只是附加到订单的用户,需要使用此处记录的update_user_meta();功能对用户进行更新,以便更改显示在(用户>所有用户>(您的用户((:

$woo_customer = wp_get_current_user();
$metaKeyVals = array(
    'shipping_address_1' => $address->street1,
    'shipping_address_2' => $address->street2,
    'shipping_country' => $address->country,
    'shipping_state' => $address->state,
    'shipping_postcode' => $address->postCode,
    'shipping_city' => $address->city
);
foreach ($metaKeyVals as $key => $val) {
    update_user_meta($woo_customer->ID, $key, $val);
}

最新更新