【问题标题】:Woocommerce get custom values from woocommerce_checkout_create_order $orderWoocommerce 从 woocommerce_checkout_create_order $order 获取自定义值
【发布时间】: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


【解决方案1】:

您可以使用 woocommerce_new_order 挂钩。

http://hookr.io/actions/woocommerce_new_order/

add_action("woocommerce_new_order", "somefunctionname");
function somefunctionname( $order_id ) {
    // get order details data...
    $order = new WC_Order( $order_id );
    // get what data you need and insert into new table

}

如果您对如何插入数据有任何疑问,请参阅 - https://developer.wordpress.org/reference/classes/wpdb/#insert-row

【讨论】:

    猜你喜欢
    • 2018-09-07
    • 1970-01-01
    • 2021-02-16
    • 2021-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    相关资源
    最近更新 更多