我目前正在使用WooCommerce。
为了让我的客户轻松生活,我已经摆脱了账户注册中的“名字”和“姓氏”字段。我刚刚收到了电子邮件地址。
但是,当客户结账时,我想在其用户元数据中填入'billing_first_name'值为'billing_first_name'。
我正在尝试以下代码,但似乎没有用 - 任何想法?
//自动更新用户详细信息
add_filter( 'process_checkout' , 'custom_update_checkout_fields', 10, 2 );
function custom_update_checkout_fields($user_id, $old_user_data ) {
$current_user = wp_get_current_user();
// Updating Billing info
if($current_user->billing_first_name != $current_user->user_firstname)
update_user_meta($user_id, 'user_firstname', $current_user->billing_first_name);
}
干杯,
林茨
答案 0 :(得分:1)
好的,所以我找到了一个很好的解决方案:
add_action('woocommerce_checkout_order_processed', 'custom_process_order1', 10, 1);
function custom_process_order1($order_id) {
$current_user = wp_get_current_user();
$current_user_id = get_current_user_id();
update_user_meta($current_user_id, "first_name", $current_user->billing_first_name);
update_user_meta($current_user_id, "last_name", $current_user->billing_last_name);
}
我有点新手,所以帮助别人。
希望能帮助任何读者。