亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 WooCommerce 3 中獲取訂單嵌套元數據

如何在 WooCommerce 3 中獲取訂單嵌套元數據

PHP
皈依舞 2023-09-08 14:31:02
我們已經安裝了另一個名為 WooCommerce 的插件,該插件可以通過支付訂單來Booster Plus for WooCommerce修改。checkout pageinvoice number我也thank you page通過顯示來定制我們的invoice number。目前,我無法做到這一點,因為我不知道如何正確獲取嵌套$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          )        )[pay_by_po]你知道我怎樣才能得到它的值嗎123456789?任何幫助是極大的贊賞。謝謝。
查看完整描述

1 回答

?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

WC_data您可以使用methodget_meta_data()獲取和取消保護此嵌套元數據,該方法提供一個WC_Meta_Data對象數組:

$meta_data?=?$order->get_meta_data();
print_r($order_data);

然后在每個WC_Meta_Data對象上,您可以使用WC_Meta_Data可用的方法,例如get_data()提供不受保護的數據數組:

foreach( $order->get_meta_data() as $meta_data_obj ) {

? ? $meta_data_array = meta_data_obj->get_data();

? ? print_r($meta_data_array);


? ? $meta_key? ?= $meta_data_array['key']; // The meta key

? ? $meta_value = $meta_data_array['value']; // The meta value

}

WC_Data您還可以使用特定元鍵中的方法get_meta()直接從訂單中獲取任何嵌套元數據,如下所示:

$meta_value?=?$order->get_meta('_wcj_custom_payment_gateway_input_fields');
print_r($meta_value);

注意 此嵌套元數據自 WooCommerce 版本 3 起就存在。


關于抽象WC_Data

它是由使用相同 CRUD 模式的類實現的。

直接已知子類:
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_TaxWC_Order_Refund


查看完整回答
反對 回復 2023-09-08
  • 1 回答
  • 0 關注
  • 119 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號