diff --git a/includes/admin/views/html-admin-page-status-tools.php b/includes/admin/views/html-admin-page-status-tools.php index e54ede7a5a5..7a336bc6741 100644 --- a/includes/admin/views/html-admin-page-status-tools.php +++ b/includes/admin/views/html-admin-page-status-tools.php @@ -1,6 +1,6 @@
- 0, 'template_debug_mode' => 0 ) ); ?> + 0, 'template_debug_mode' => 0, 'shipping_debug_mode' => 0 ) ); ?> @@ -19,6 +19,17 @@ + + + +
+

+ +

+

+ +

+
diff --git a/includes/class-wc-shipping.php b/includes/class-wc-shipping.php index 47458242396..3dd62013b68 100644 --- a/includes/class-wc-shipping.php +++ b/includes/class-wc-shipping.php @@ -338,9 +338,10 @@ class WC_Shipping { if ( ! $package ) return false; // Check if we need to recalculate shipping for this package - $package_hash = 'wc_ship_' . md5( json_encode( $package ) ); + $package_hash = 'wc_ship_' . md5( json_encode( $package ) ); + $status_options = get_option( 'woocommerce_status_options', array() ); - if ( false === ( $stored_rates = get_transient( $package_hash ) ) ) { + if ( false === ( $stored_rates = get_transient( $package_hash ) ) || ( ! empty( $status_options['shipping_debug_mode'] ) && current_user_can( 'manage_options' ) ) ) { // Calculate shipping method rates $package['rates'] = array();