WooCommerce REST API - 获取订单的自定义结帐页面字段

WooCommerce REST API - GET Custom Checkout Page Fields for Order

我正在使用 WooCommerce REST API (http://woocommerce.github.io/woocommerce-rest-api-docs/#introduction) 并使用此处的示例向结帐页面添加了一个新字段 (shipping_phone):

https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/

这个新字段出现在结帐页面上,我可以填充它并将其保存到我的订单中 - 以下是它在 WordPress 管理页面中的显示方式:

我现在尝试使用此 GET 请求下载包含 shipping_phone 数据的订单:

/wp-json/wc/v1/orders/3454

但 shipping_phone 字段未包含在下载的字段中。这是 GET 响应中的 Shipping 字段:

"shipping": {
"address_1": "45 Jones Road", 
"address_2": "", 
"city": "Bondi", 
"company": "BS Consulting Pty Ltd", 
"country": "AU", 
"first_name": "Betty", 
"last_name": "Sanders", 
"postcode": "2026", 
"state": "NSW"
}, 

它也不在 JSON 数据中的其他任何位置。如何执行 GET 请求以获取包含此新自定义字段的订单?

您可以使用 WooCommerce REST API v2 或更高版本来获取包含这些自定义字段的订单元数据。如果您收到订单:

wp-json/wc/v3/orders/3454

它将包含一个 meta_data 数组,其中包含这些自定义字段值:

"meta_data" : 
[
    {
        "id" : 4672,
        "key" : "_shipping_method",
        "value" : [ "flat_rate:1" ]
    },
    {
        "id" : 4673,
        "key" : "_shipping_phone",
        "value" : "08 9632 7412"
    }
]