Automattic\WooCommerce\Internal\DataStores\Orders
DataSynchronizer::delete_trashed_orders
Handles deletion of trashed orders after EMPTY_TRASH_DAYS as defined by WordPress.
Метод класса: DataSynchronizer{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
$DataSynchronizer = new DataSynchronizer(); $DataSynchronizer->delete_trashed_orders();
Список изменений
| С версии 8.5.0 | Введена. |
Код DataSynchronizer::delete_trashed_orders() DataSynchronizer::delete trashed orders WC 11.0.1
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 );
}
}