1

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

非常感谢!

4

2 回答 2

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 url 发出 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

于 2016-10-16T10:57:52.070 回答
1

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

<?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' );


?>
于 2019-10-09T20:31:04.693 回答