php - 按日期和状态获取订单 woocommerce

标签 php wordpress woocommerce

我需要通过开始日期、最终日期和状态获取 woocommerce 中的订单列表。

我尝试使用一些技术,如 Mike Jolley 所描述的,我和 this 混在一起.但我没有成功。这将返回所有订单。我正在使用 woocommerce 版本 2.2.10。

感谢帮助。

我的代码:

public function get_orders(){
        global $json_api;
        $initial_date = $json_api->query->para1;
        $final_date = $json_api->query->para2;
        $order_id = $json_api->query->para3;
        $status_order = $json_api->query->para4;

        define('GET_ORDERS_FILTER_DATE_FROM', $initial_date );
        define('GET_ORDERS_FILTER_DATE_TO', $final_date );
        add_filter('posts_where', array( __CLASS__, 'get_orders_where_dates_between') );
        $orders = get_posts( array(
            'post_type'   => 'shop_order',
            'orderby' => 'post_date',
            'order'     => 'DESC',
            'post_status' => array_keys( $status_order )
        ) );
        remove_filter('posts_where', 'order_page_get_orders_where_dates_between');

        return $orders;
}

function get_orders_where_dates_between( $where ){
        global $wpdb;
        if( ! defined('GET_ORDERS_FILTER_DATE_FROM') || ! defined('PARCELWARE_GET_ORDERS_FILTER_DATE_TO') )
            return $where;

        $where .= $wpdb->prepare(" AND post_date >= '%s' ", GET_ORDERS_FILTER_DATE_FROM);
        $where .= $wpdb->prepare(" AND post_date <= '%s' ", GET_ORDERS_FILTER_DATE_TO);

        return $where;
}

最佳答案

您可以使用 wc_get_orders

$initial_date = yyyy-mm-dd;
$final_date = yyyy-mm-dd;
$orders = wc_get_orders(array(
    'limit'=>-1,
    'type'=> 'shop_order',
    'status'=> array( 'wc-completed','wc-refunded' ),
    'date_created'=> $initial_date .'...'. $final_date 
    )
);

关于php - 按日期和状态获取订单 woocommerce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27972515/

相关文章:

php - WooCommerce Cart REST Api 无法将购物车与特定用户相关联

来自 C/C++ 的 PHP 兼容序列化

javascript - 我怎样才能将这支笔的代码整合到我的网站上?

html - IE 中的 float 未正确对齐

php - 如何在 WooCommerce 中检查一系列产品 ID

php - 在 woocommerce 电子邮件中调用自定义订单元

php - htaccess,一些重写 url 给我错误 404

php - 在更改事件上使用 jquery 从数据库获取值

php - 当我导航到子菜单项时,如何让 wp_nav_menu 保持展开状态?

php - 在 Woocommerce 电子邮件中获取一些订单和订单项目数据