php – 在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文档并没有真正解释.

解决方法:

您可以使用update_user_meta()功能,这样:

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

您需要在数组中设置值.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...