php - 在 WooCommerce 中添加订单号作为自定义订单项元数据
问题描述
我正在尝试将已下订单的订单号添加到每个订单项。我们正在使用订单拆分插件(https://woocommerce.com/products/split-orders/)和订单组合插件。
因此,为了能够跟踪产品最初来自哪里,我想在创建订单时将订单号作为元数据添加到订单项中。
我之前尝试过一些东西,比如下面的代码,但是在尝试下订单时出现错误:
function action_woocommerce_new_order( $order_get_id ) {
$items = $order_get_id->get_items();
foreach ( $items as $item ) {
$item->update_meta_data( 'order_nummer', $order_get_id );
$item->save_meta_data();
}
}
add_action( 'woocommerce_new_order', 'action_woocommerce_new_order', 10, 1 );
任何人都可以帮助我朝着正确的方向前进吗?
最好的,
解决方案
最后,我设法使它与以下代码一起工作:
function print_order_line_item_meta( $items, $order ) {
$order_number = $order->get_order_number();
$items = $order->get_items();
foreach ( $items as $item ) {
$item->update_meta_data( '_org_ordernummer', $order_number );
$item->save_meta_data();
}
}
add_action( 'woocommerce_order_status_on-hold', 'print_order_line_item_meta', 10, 2 );
因为我的所有订单都以“暂停”状态开始,所以我在订单处于此状态时添加了订单项元数据,而不是在创建订单时添加它。这将返回订单号而不是 0。
推荐阅读
- ios - 在 ViewController 之间使用 instantiateViewControllerWithIdentifier 传递数据
- dart - 那2个点是什么意思?1和2有什么区别?
- c# - LoadHtml() 弄乱了 MathJax 语法
- r - 在函数调用 r 中出现错误:函数调用缺少参数
- c - 在 Visual Studio 上使用 Keccak 代码包
- wpf - Prism 7.1:没有合适的方法来覆盖方法 RegisterTypes 和 CreateShell
- android - 找不到 support-media-compat.aar
- python - 求解一阶 ODE,其中包含另一个 ODE(Python 中的 odeint / solve_ivp)
- java - 奇数应用程序没有正确计算负整数?
- algorithm - 设置具有最小最大交叉点大小的覆盖