【问题标题】:How to get the date that order got complete in WooCommerce?如何在 WooCommerce 中获取订单完成的日期?
【发布时间】:2020-08-17 06:59:10
【问题描述】:

我正在使用此代码获取 WooCommerce 的订单 ID 数组:

$query = new WC_Order_Query( array(
    'limit' => 10,
    'orderby' => 'date',
    'order' => 'DESC',
    'return' => 'ids',
) );
$orders = $query -> get_orders();

现在我想创建一个循环并获取订单完成的日期。有一种方法可以获取修改日期,但我只想获取完成日期。有什么帮助吗?

---已编辑---

实际上,我想获得过去 30 天内完成的订单。有可能吗?

【问题讨论】:

    标签: php wordpress woocommerce status orders


    【解决方案1】:
        $query   = new WC_Order_Query( array(
            'limit'      => 10,
            'orderby'    => 'date',
            'order'      => 'DESC',
            'return'     => 'ids',
        ) );
        $orders  = $query->get_orders();
    
        $completed_dates = array();
        foreach ( $orders as $order_id ) {
            $order                       = wc_get_order( $order_id );
            $completed_dates[ $order_id ]    = $order->get_date_completed();
        }
        echo '<pre>$completed_dates:-';
        print_r( $completed_dates );
        echo '</pre>';
        exit;
    }
    

    【讨论】:

    • 谢谢,这很好用。有没有最快的方法来获得在过去 30 天内完成的订单?在查询中使用date_completed?
    • $orders = wc_get_orders(array('post_status' => 'wc-completed'));这将返回所有已完成的 odrers - 有 date_before 和 date_after 查询选项
    猜你喜欢
    • 2015-10-23
    • 2016-05-10
    • 2021-07-31
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 2016-07-08
    相关资源
    最近更新 更多