【问题标题】:WooCommerce : how to save customer address detailsWooCommerce:如何保存客户地址详细信息
【发布时间】:2017-03-31 02:42:57
【问题描述】:

我正在为 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 使用我输入的这些详细信息更新用户送货地址?

【问题讨论】:

    标签: php wordpress plugins woocommerce


    【解决方案1】:

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

    $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);
    }
    

    【讨论】:

      猜你喜欢
      • 2011-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多