wc_delete_shop_order_transients()
Clear all transients cache for order data.
Hooks from the function
Return
null
. Nothing (null).
Usage
wc_delete_shop_order_transients( $order );
- $order(int|WC_Order)
- Order instance or ID.
wc_delete_shop_order_transients() wc delete shop order transients code WC 9.5.1
function wc_delete_shop_order_transients( $order = 0 ) { if ( is_numeric( $order ) ) { $order = wc_get_order( $order ); } $reports = WC_Admin_Reports::get_reports(); $transients_to_clear = array( 'wc_admin_report', ); foreach ( $reports as $report_group ) { foreach ( $report_group['reports'] as $report_key => $report ) { $transients_to_clear[] = 'wc_report_' . $report_key; } } foreach ( $transients_to_clear as $transient ) { delete_transient( $transient ); } // Clear customer's order related caches. if ( is_a( $order, 'WC_Order' ) ) { $order_id = $order->get_id(); Users::delete_site_user_meta( $order->get_customer_id(), 'wc_money_spent' ); Users::delete_site_user_meta( $order->get_customer_id(), 'wc_order_count' ); Users::delete_site_user_meta( $order->get_customer_id(), 'wc_last_order' ); } else { $order_id = 0; } // Increments the transient version to invalidate cache. WC_Cache_Helper::get_transient_version( 'orders', true ); // Do the same for regular cache. WC_Cache_Helper::invalidate_cache_group( 'orders' ); do_action( 'woocommerce_delete_shop_order_transients', $order_id ); }