我正在使用woocommerce构建我的网站,默认情况下,当客户在结账时更改其结算信息时,此插件不仅会保存此新数据,还会更新客户USER元首名或姓氏相同的姓氏,所以当时USER = BILLING。我设法通过以下代码片段来防止这种情况:我在另一个帖子中查找:
add_action('woocommerce_checkout_update_customer','custom_checkout_update_customer', 10, 2 );
function custom_checkout_update_customer( $customer, $data ){
// Get the user ID
$user_id = $customer->get_id();
// Get the default wordpress first name and last name (if they exist)
$user_first_name = get_user_meta( $user_id, 'first_name', true );
$user_last_name = get_user_meta( $user_id, 'last_name', true );
// We set the values by defaul worpress ones, before it's saved to DB
$customer->set_first_name( $user_first_name );
$customer->set_last_name( $user_last_name );
}
现在我还需要防止接近相反的事情发生,即当客户在编辑帐户中更改其用户名或姓时,Woocommerce也会更新结算数据。基本上,我需要将这两个概念分开(Billing和USER)。有什么想法吗?