I’ve been working on changing the shipping structure for a client site running WooCommerce. When I started changing the shipping options and refreshing the page, the shipping options weren’t changing. I didn’t know that WooCommerce caches shipping rates for an hour. Once I figured that out, I found the Shipping Debug Mode under WooCommerce -> System Settings -> Tools:
So I checked the box, refreshed the page–and nothing changed. The Debug Mode didn’t seem to be working.
I couldn’t figure out why the debug mode didn’t work. And clearing the transients via the option on that same page wasn’t working either. So I went looking for the value in the database. Once I found and deleted it, refreshing the page finally showed my latest changes to the shipping settings.
The shipping rates are cached as transients in the ‘wp_options’ table. These transients contain ‘wc_ship_’, so do a LIKE lookup (I’m using phpMyAdmin, but you could do this directly in the console, too):
Run that query on the ‘wp_options’ table and you should see the transients. Delete them and you should be good to go.
While it’s not a permanent fix (and a hassle to keep doing while playing with the shipping settings), hopefully this can save someone a few hours of banging their head against a wall. And if you know why the debug mode and clearing transients on the settings page didn’t work, let me know in the comments.