WooCommerce REST API - 检索订单属性(大小/颜色)

Dav*_*son 3 php xml api wordpress woocommerce

使用WooCommerce REST客户端库,我可以轻松提取正在处理的订单,如下所示:

$response = $wc_api->get_orders( array( 'status' => 'processing' ) );
Run Code Online (Sandbox Code Playgroud)

但结果不包括属性(颜色,大小等),即使购买的产品设置了与产品变化相关的尺寸/颜色属性.那部分一切都很好.客户可以选择产品的大小和颜色,但该信息不会显示在get_orders查询中.

这是显示的内容:

<line_items>
     <XML_Serializer_Tag>
         <id>18</id>
         <subtotal>19.99</subtotal>
         <total>19.99</total>
         <total_tax>0.00</total_tax>
         <price>19.99</price>
         <quantity>1</quantity>
         <tax_class />
         <name>Cool T-Shirt You Just Bought!</name>
         <product_id>351</product_id>
         <sku>194953</sku>
     </XML_Serializer_Tag>
 </line_items>
Run Code Online (Sandbox Code Playgroud)

如您所见,即使客户为变体选择了"大/黑",它也不会显示在get_orders数据中.

我可以使用相同的库来提取产品的可用属性,但我需要为订单提取客户选择的属性.

Dav*_*son 5

我讨厌回答我自己的问题,但事实证明答案很简单:

该WooCommerce REST客户端库尚未更新的API的V2,即使WooCommerce链接它作为V2的资源.解决方案非常简单:

导航到〜/ class-wc-api-client.php并将第17行更改为:

const API_ENDPOINT = 'wc-api/v2/';

当我执行get_orders()查询时,API立即返回正确的数据.