【发布时间】:2022-01-31 13:55:01
【问题描述】:
我需要从 $order 数组中获取自定义字段数据。我使用 woocommerce_add_cart_item_data 和以下代码保存了它:
$cart_item_data["product_".$row->ID."_".$product_id] = wc_clean( $_POST["product_$row->ID"] );
现在我需要从 $order 变量(或其他方式)中提取该数据,以将该数据保存到数据库中的自定义表中。 我正在使用 woocommerce_checkout_create_order 过滤器。我找不到访问这些数据的方法。在 var 将其转储到错误日志后,我在 $order 数组中看到它。
"line_items": {
"21": {
"legacy_values": {
\/ HERE IS THE DATA
"product_25_163": "Szk\u0142o_900",
"product_26_163": "Tak_120",
"key": "9c05c43810f992ce265a47bf79071973",
"product_id": 163,
"variation_id": 0,
"variation": [],
"quantity": 1,
"data_hash": "b5c1d5ca8bae6d4896cf1807cdf763f0",
"line_tax_data": {
"subtotal": [],
"total": []
},
"line_subtotal": 13887,
"line_subtotal_tax": 0,
"line_total": 13887,
"line_tax": 0,
"data": {}
},
"legacy_cart_item_key": "9c05c43810f992ce265a47bf79071973"
}
},
有没有办法获取这些值并将其存储到我的自定义表中?
【问题讨论】:
-
基于该输出,它看起来像是订单元数据的一部分?你能确认一下吗?
-
我使用了error_log($order);这是我在 debug.log 中得到的一部分
-
如果您查看数据库,您能确认这是订单元数据的一部分吗?如果是,我可以向您展示一种简单的方法来拉取它并将其发送到您的自定义表格。
-
我已经更改了一些代码,现在我可以看到它保存在 woocommerce_order_itemmeta 中。我怎样才能在 woocommerce_checkout_create_order 中获得它们
标签: php mysql wordpress woocommerce