From f019070307caf268dd2e91651974634ef6f290db Mon Sep 17 00:00:00 2001 From: Trey Richards Date: Fri, 30 Jun 2017 17:30:16 -0700 Subject: [PATCH] Fixed major issue with getting orders when both before_date and after_date args are set. Modified unit tests to prevent from happening again. --- includes/wc-order-functions.php | 2 +- tests/unit-tests/order/functions.php | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/includes/wc-order-functions.php b/includes/wc-order-functions.php index 660c5f05ce0..1d5e78e3204 100644 --- a/includes/wc-order-functions.php +++ b/includes/wc-order-functions.php @@ -57,7 +57,7 @@ function wc_get_orders( $args ) { } if ( $date_before && $date_after ) { - $args['date_created'] = $date_before . '...' . $date_after; + $args['date_created'] = $date_after . '...' . $date_before; } elseif ( $date_before ) { $args['date_created'] = '<' . $date_before; } elseif ( $date_after ) { diff --git a/tests/unit-tests/order/functions.php b/tests/unit-tests/order/functions.php index 64cae00d685..31d41d71d07 100644 --- a/tests/unit-tests/order/functions.php +++ b/tests/unit-tests/order/functions.php @@ -236,6 +236,12 @@ class WC_Tests_Order_Functions extends WC_Unit_Test_Case { sort( $orders ); $this->assertEquals( $expected, $orders ); + $orders = wc_get_orders( array( 'date_before' => '2017-01-15', 'date_after' => '2015-01-01 00:00:00', 'return' => 'ids' ) ); + $expected = array( $order_1, $order_2, $order_3 ); + sort( $expected ); + sort( $orders ); + $this->assertEquals( $expected, $orders ); + $order1->delete(); $order2->delete(); $order3->delete();