Woocommerce:如何将自定义 meta_key 添加到结帐 billing_phone?

Woocommerce : How to add a custom meta_key to checkout billing_phone?

我想为每个 woocommerce 订单输入 digits_phone 元键的值作为 billing_phone 输入。

我想到了类似的方法,但没有用:

//Automatically add the digits phone number of the user, to woocommerce orders for every order

add_filter('woocommerce_checkout_posted_data', 'dg_manipulate_checkout_posted_data');
function dg_manipulate_checkout_posted_data ($data) {
    $data['billing_phone'] =['digits_phone'];

    return $data;
}

谁能帮我解决这个问题?

根据 this post 的最后一条评论,我看到应该有 2 个用户元数据与某些 digits_phone 相关:'digits_phone' 和 'digits_phone_no'

假设我们要的是digits_phone,这段代码应该是正确方向的提示:

add_filter('woocommerce_checkout_posted_data', 'dg_manipulate_checkout_posted_data'); 

function dg_manipulate_checkout_posted_data ($data) {
  // save current user data in variable $current_user
  $current_user = wp_get_current_user();

  //get digits phone from db and save in variable $digits_phone
  $digits_phone = get_user_meta( $current_user->ID, 'digits_phone' , true );     

  // assign to POSTed array and return it
  $data['billing_phone'] = $digits_phone;
  return $data; 
}

另请参阅 How can I convert woocommerce checkout fields in capital letters 以更好地了解如何处理 POST 数据