Automattic\WooCommerce\Internal\DataStores\Orders

DataSynchronizer::delete_auto_draft_orders()privateWC 7.7.0

Handles deletion of auto-draft orders in sync with WP's own auto-draft deletion.

Метод класса: DataSynchronizer{}

Хуки из метода

Возвращает

null. Ничего (null).

Использование

// private - только в коде основоного (родительского) класса
$result = $this->delete_auto_draft_orders();

Список изменений

С версии 7.7.0 Введена.

Код DataSynchronizer::delete_auto_draft_orders() WC 9.2.3

private 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' );
}