【问题标题】:How to add multiple user metadata as order metadata in Woocommerce如何在 Woocommerce 中添加多个用户元数据作为订单元数据
【发布时间】:2021-10-20 01:06:06
【问题描述】:

我创建了两个自定义用户配置文件字段,我也将它们用作用户元数据。创建订单后,我需要将此信息保存为 Woocommerce 中的订单元数据。

我为每个实例创建了一个函数。

增值税号:

add_action( 'woocommerce_checkout_create_order', 'wwp_customer_meta_data', 10, 2 );
function wwp_customer_meta_data( $order, $data ) {
    $user_id  = $order->get_user_id(); // Get the user id
    $wwp_vat = get_user_meta( $user_id, 'wwp_wholesaler_tax_id', true );
    $order->update_meta_data( 'VAT Number', $wwp_vat );
}

对于我的会计软件中的公司编号:

add_action( 'woocommerce_checkout_create_order', 'visma_customer_meta_data', 10, 2 );
function visma_customer_meta_data( $order, $data ) {
    $user_id  = $order->get_user_id(); // Get the user id
    $billing_visma = get_user_meta( $user_id, 'billing_visma', true );
    $order->update_meta_data( 'Billing Visma', $billing_visma );
}

如何将两个函数组合成一个函数?

我想学习如何更有效地创建代码。

【问题讨论】:

    标签: php wordpress woocommerce metadata orders


    【解决方案1】:

    你应该这样做:

    add_action( 'woocommerce_checkout_create_order', 'add_customer_meta_data_to_order', 10, 2 );
    
    function visma_customer_meta_data( $order, $data ) {
    
        $user_id  = $order->get_user_id(); // Get the user id
    
        $billing_visma = get_user_meta( $user_id, 'billing_visma', true );
        $order->update_meta_data( 'Billing Visma', $billing_visma );
    
        $wwp_vat = get_user_meta( $user_id, 'wwp_wholesaler_tax_id', true );
        $order->update_meta_data( 'VAT Number', $wwp_vat );
    
    }
    

    【讨论】:

    • 谢谢!只需要更新函数名称,但效果很好......
    猜你喜欢
    • 2020-10-01
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 2021-06-01
    • 2014-10-26
    • 2019-09-12
    • 2021-11-23
    • 1970-01-01
    相关资源
    最近更新 更多