我正在寻找一种方法来获取在某个指定日期之后更新的订单列表。我正在使用 Woocommerce REST API 来访问这些订单。在 API 文档中,我发现 GET 调用中有一个“after”参数,但这只会过滤特定日期之后发布的订单,而不是更新。
非常感谢!
我正在寻找一种方法来获取在某个指定日期之后更新的订单列表。我正在使用 Woocommerce REST API 来访问这些订单。在 API 文档中,我发现 GET 调用中有一个“after”参数,但这只会过滤特定日期之后发布的订单,而不是更新。
非常感谢!
更新答案:
在自定义插件中添加以下代码。
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.php
:Line 157
和wp-content\plugins\woocommerce\includes\api\class-wc-api-orders.php
:Line 723
我已经设法使用上面的提示解决了这个问题。在插件文件夹中添加了一个文件夹,该文件夹具有相同的名称和以下内容:
<?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' );
?>