Automattic\WooCommerce\Internal\DataStores\Orders
DataSynchronizer::delete_trashed_orders
Handles deletion of trashed orders after EMPTY_TRASH_DAYS as defined by WordPress.
Method of the class: DataSynchronizer{}
No Hooks.
Returns
null
. Nothing (null).
Usage
$DataSynchronizer = new DataSynchronizer(); $DataSynchronizer->delete_trashed_orders();
Changelog
Since 8.5.0 | Introduced. |
DataSynchronizer::delete_trashed_orders() DataSynchronizer::delete trashed orders code WC 9.9.4
public function delete_trashed_orders() { if ( ! $this->custom_orders_table_is_authoritative() ) { return; } $delete_timestamp = $this->legacy_proxy->call_function( 'time' ) - ( DAY_IN_SECONDS * EMPTY_TRASH_DAYS ); $args = array( 'status' => 'trash', 'limit' => self::ORDERS_SYNC_BATCH_SIZE, 'date_modified' => '<' . $delete_timestamp, ); $orders = wc_get_orders( $args ); if ( ! $orders || ! is_array( $orders ) ) { return; } foreach ( $orders as $order ) { if ( $order->get_status() !== 'trash' ) { continue; } if ( $order->get_date_modified()->getTimestamp() >= $delete_timestamp ) { continue; } $order->delete( true ); } }