Woocommerce API显示订单在特定日期之后更新

时间:2016-10-13 13:20:15

标签: woocommerce woocommerce-rest-api

我正在寻找一种方法来获取在特定日期之后更新的订单列表。我使用Woocommerce REST API来访问这些订单。在API文档中,我发现有一个'之后' GET调用中的参数,但这仅过滤在特定日期之后发布的订单,而不是更新。

非常感谢!

2 个答案:

答案 0 :(得分:1)

更新后的答案:
在自定义插件中添加以下代码。

function modify_orders_after_query($request) {
    $request['date_query'][0]['column'] = 'post_modified';
    return $request;
}

add_filter( "woocommerce_rest_shop_order_query", 'modify_orders_after_query' );

然后你可以向你的API网址发出GET请求,如下所示:
http://example.com/wp-json/wc/v1/orders?after=2016-10-10T10:10:10Z

注意:请在使用此方法之前进行测试。

<强>旧版:
这可以通过updated_at_min来实现 请检查wp-content\plugins\woocommerce\includes\api\class-wc-api-resource.phpLine 157wp-content\plugins\woocommerce\includes\api\class-wc-api-orders.phpLine 723

答案 1 :(得分:0)

我已经使用上面的提示设法解决了这个问题。在插件文件夹中添加了一个文件名称为以下内容的文件夹:

<?php
/**
 * Plugin Name: wooCommerceFilter
 * Description: Change the ORDER API endpoint to consider date_modified.
 * Version: 1.0
 */

function modify_orders_after_query($request) {
    $request['date_query'][0]['column'] = 'post_modified';
    return $request;
}

add_filter( "woocommerce_rest_orders_prepare_object_query", 'modify_orders_after_query' );


?>