我正在为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);
}