Automattic\WooCommerce\Internal\DataStores\Orders
DataSynchronizer::delete_auto_draft_orders
Handles deletion of auto-draft orders in sync with WP's own auto-draft deletion.
Method of the class: DataSynchronizer{}
Hooks from the method
Returns
null. Nothing (null).
Usage
$DataSynchronizer = new DataSynchronizer(); $DataSynchronizer->delete_auto_draft_orders();
Changelog
| Since 7.7.0 | Introduced. |
DataSynchronizer::delete_auto_draft_orders() DataSynchronizer::delete auto draft orders code WC 10.7.0
public function delete_auto_draft_orders() {
if ( ! $this->custom_orders_table_is_authoritative() ) {
return;
}
// Fetch auto-draft orders older than 1 week.
$to_delete = wc_get_orders(
array(
'date_query' => array(
array(
'column' => 'date_created',
'before' => '-1 week',
),
),
'orderby' => 'date',
'order' => 'ASC',
'status' => 'auto-draft',
)
);
foreach ( $to_delete as $order ) {
$order->delete( true );
}
/**
* Fires after schedueld deletion of auto-draft orders has been completed.
*
* @since 7.7.0
*/
do_action( 'woocommerce_scheduled_auto_draft_delete' );
}