使用WooCommerce REST Client Library,我可以轻松提取正在处理的订单,如下所示:
$response = $wc_api->get_orders( array( 'status' => 'processing' ) );
但结果不包括属性(颜色,大小等),即使购买的产品设置了与产品变化相关的尺寸/颜色属性.那部分一切都很好.客户可以选择产品的大小和颜色,但该信息不会显示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>
如您所见,即使客户为变体选择了“大/黑”,它也不会显示在get_orders数据中.
我可以使用相同的库来提取产品的可用属性,但我需要为订单提取客户选择的属性.
解决方法:
我讨厌回答我自己的问题,但事实证明答案很简单:
即使WooCommerce将其作为V2资源链接,WooCommerce REST Client Library还没有针对API的V2进行更新.解决方案非常简单:
导航到〜/ class-wc-api-client.PHP并将第17行更改为:
const API_ENDPOINT =’wc-api / v2 /’;
当我执行get_orders()查询时,API立即返回正确的数据.