Automattic\WooCommerce\Internal\DataStores\Orders

OrdersTableDataStore::clear_cached_data()publicWC 1.0

Delete cached order data for the given object_ids.

Method of the class: OrdersTableDataStore{}

No Hooks.

Return

true|false[]. Array of return values, grouped by the object_id. Each value is either true on success, or false if the contents were not deleted.

Usage

$OrdersTableDataStore = new OrdersTableDataStore();
$OrdersTableDataStore->clear_cached_data( $order_ids ): array;
$order_ids(array) (required)
The IDs of the orders to remove cache.

OrdersTableDataStore::clear_cached_data() code WC 9.6.1

public function clear_cached_data( array $order_ids ): array {
	if ( ! OrderUtil::custom_orders_table_datastore_cache_enabled() ) {
		return array_fill_keys( $order_ids, true );
	}

	$cache_engine  = wc_get_container()->get( WPCacheEngine::class );
	$cache_group   = $this->get_cache_group();
	$return_values = array();

	foreach ( $order_ids as $order_id ) {
		$return_values[ $order_id ] = $cache_engine->delete_cached_object( $order_id, $cache_group );
	}

	if ( is_callable( array( $this->data_store_meta, 'clear_cached_data' ) ) ) {
		$successfully_deleted_cache_order_ids = array_keys( array_filter( $return_values ) );
		$cache_deletion_results               = $this->data_store_meta->clear_cached_data( $successfully_deleted_cache_order_ids );
		foreach ( $cache_deletion_results as $order_id => $meta_cache_was_deleted ) {
			$return_values[ $order_id ] = $return_values[ $order_id ] && $meta_cache_was_deleted;
		}
	}

	return $return_values;
}