fix: Update date filtering in supplier row collection to use DateTimeImmutable and date_query
This commit is contained in:
@@ -307,16 +307,18 @@ class Siti_Stock_Supplier_Exports {
|
||||
private function collect_rows_for_supplier( $supplier ) {
|
||||
$key = $this->normalize_supplier_key( $supplier );
|
||||
|
||||
$after_timestamp = current_time( 'timestamp' ) - DAY_IN_SECONDS;
|
||||
$date_filter = array(
|
||||
'after' => gmdate( 'Y-m-d H:i:s', $after_timestamp ),
|
||||
);
|
||||
$site_timezone = function_exists( 'wp_timezone' ) ? wp_timezone() : new DateTimeZone( wp_timezone_string() );
|
||||
$after_date = new DateTimeImmutable( 'now', $site_timezone );
|
||||
$after_date = $after_date->sub( new DateInterval( 'P1D' ) );
|
||||
$after_utc = $after_date->setTimezone( new DateTimeZone( 'UTC' ) );
|
||||
|
||||
if ( class_exists( 'WC_DateTime' ) ) {
|
||||
$after_object = new WC_DateTime( '@' . $after_timestamp );
|
||||
$after_object->setTimezone( new DateTimeZone( 'UTC' ) );
|
||||
$date_filter = array( 'after' => $after_object );
|
||||
}
|
||||
$date_query = array(
|
||||
array(
|
||||
'column' => 'date_created_gmt',
|
||||
'after' => $after_utc->format( 'Y-m-d H:i:s' ),
|
||||
'inclusive' => true,
|
||||
),
|
||||
);
|
||||
|
||||
$query = new WC_Order_Query(
|
||||
array(
|
||||
@@ -324,7 +326,7 @@ class Siti_Stock_Supplier_Exports {
|
||||
'limit' => -1,
|
||||
'type' => 'shop_order',
|
||||
'return' => 'objects',
|
||||
'date_created' => $date_filter,
|
||||
'date_query' => $date_query,
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user