我们已经为WooCommerce安装了另一个名为Booster Plus for WooCommerce
的插件,该插件可以通过invoice number
支付订单来修改checkout page
。
我正在通过显示invoice number
来定制我们的thank you page
。目前,我不能这样做,因为我不知道如何正确获取嵌套$order->get_data()
结果的值。
<?php
$order_data = $order->get_data();
print_r($order_data);
?>
字符串
上面的order_data
的结果如下所示:
(
[id] => 7403
[discount_total] => 0
[discount_tax] => 0
[shipping_total] => 0.00
[shipping_tax] => 0
[cart_tax] => 2.47
[total] => 21.47
[total_tax] => 2.47
[customer_id] => 20
[order_key] => wc_order_8pt3q7T79
[billing] => Array
(
[first_name] => John
[last_name] => Done
[company] => g2x
[address_1] => 3134 James Street
[address_2] =>
[city] => Moose Factory
[state] => ON
[postcode] => P0L 1W0
[country] => CA
[email] => [email protected]
[phone] => 705-658-2112
)
[cart_hash] => 087347d19dff4677dc8kaeb2b2c653c6
[number] => 7403
[meta_data] => Array
(
[0] => WC_Meta_Data Object
(
[current_data:protected] => Array
(
[id] => 102652
[key] => mailchimp_woocommerce_campaign_id
[value] =>
)
[data:protected] => Array
(
[id] => 102652
[key] => mailchimp_woocommerce_campaign_id
[value] =>
)
)
[1] => WC_Meta_Data Object
[2] => WC_Meta_Data Object
[3] => WC_Meta_Data Object
[4] => WC_Meta_Data Object
[5] => WC_Meta_Data Object
(
[current_data:protected] => Array
(
[id] => 102694
[key] => _wcj_custom_payment_gateway_input_fields
[value] => Array
(
[pay_by_po] => 123456789
)
)
[data:protected] => Array
(
[id] => 102694
[key] => _wcj_custom_payment_gateway_input_fields
[value] => Array
(
[pay_by_po] => 123456789
)
)
)
[coupon_lines] => Array
()
)
型
你知道如何得到[pay_by_po]
的值是123456789
吗?任何帮助都非常感谢。谢谢。
1条答案
按热度按时间0lvr5msh1#
您可以使用
WC_data
methodget_meta_data()
获取和取消保护此嵌套的Meta数据,它提供了一个WC_Meta_Data
对象数组:字符串
然后在每个
WC_Meta_Data
对象上,你可以像get_data()
一样使用WC_Meta_Data
available methods,它给出一个不受保护的数据数组:型
您也可以使用
WC_Data
方法get_meta()
从特定的元键直接从订单中获取任何嵌套的Meta数据,如下所示:型
注意此嵌套Meta数据自WooCommerce版本3以来一直存在。
关于抽象类
WC_Data
它由使用相同CRUD(s)模式的类实现。
直接已知子类:
WC_Abstract_Legacy_Order
、WC_Abstract_Legacy_Product
、WC_Customer_Download
、WC_Customer_Download_Log
、WC_Legacy_Coupon
、WC_Legacy_Customer
、WC_Legacy_Payment_Token
、WC_Legacy_Shipping_Zone
、WC_Legacy_Webhook
、WC_Order_Item
间接已知子类:
WC_Abstract_Order
,WC_Coupon
,WC_Payment_Token
,WC_Payment_Token_CC
,WC_Payment_Token_ECheck
,WC_Product
,WC_Product_External
,WC_Product_Grouped
,WC_Product_Simple
,WC_Product_Variable
,WC_Product_Variation
,WC_Shipping_Zone
,WC_Customer
,WC_Webhook
,WC_Order
,WC_Order_Item_Coupon
,WC_Order_Item_Fee
,WC_Order_Item_Product
、WC_Order_Item_Shipping
、WC_Order_Item_Tax
、WC_Order_Refund
参见:Developing using WooCommerce CRUD objects