php - 如何在 Woocommerce 中添加多个用户元数据作为订单元数据
问题描述
我创建了两个自定义用户配置文件字段,我也将它们用作用户元数据。创建订单后,我需要将此信息保存为 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 );
}
如何将这两个功能组合成一个功能?
我想学习如何更有效地创建代码。
解决方案
你应该做这个:
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 );
}
推荐阅读
- google-maps - Google 在 Maps Time Zone API 配额中所说的“用户”是什么意思?
- javascript - Firestore 中的数据未更新
- sql - SQL 排除 NULL 或值 0
- eclipse - Eclipse:如何使用 dropins 目录进行低级安装
- react-native - 如何将导航参数发送到测试
- javascript - 对象文件名在 Firefox 上包含 ':' 路径分隔符
- asp.net-core-mvc - ASP.NET MVC Core 中的路由,标签助手路由到错误的 POST 操作
- docker - 如何在 docker 容器中安装主管?
- xmpp - Smack 在 Roster 的存在监听器中抛出 NullPointerException
- r - 本地存储库中的 RStudio Connect、Packrat 和自定义包