Compatibility with Caching Plugins
Ensure your caching plugin doesn't interfere with the delivery date picker and timeslot dropdown at checkout.
Ensure your caching plugin doesn't interfere with the delivery date picker and timeslot dropdown at checkout.
Ensure your caching plugin doesn't interfere with the delivery date picker and timeslot dropdown at checkout.
The delivery date picker and timeslot dropdown rely on JavaScript and AJAX to load available slots in real time. Aggressive page caching or JavaScript minification can sometimes interfere with this, causing the picker to not appear or timeslots to not load after a date is selected.
Exclude the checkout page from page caching. Most caching plugins have an exclusion list — add /checkout/ (or your custom checkout URL) to it. WooCommerce itself usually configures this automatically with popular caching plugins, but it's worth double-checking.
Disable JS minification/combination for the checkout page. In WP Rocket, for example, you can exclude specific pages from JS optimisation. Do the same for CSS if you see visual issues.
Do not cache AJAX endpoints. The plugin uses WordPress AJAX (/wp-admin/admin-ajax.php) for slot availability. Make sure your caching configuration does not cache responses from this endpoint.
Any time you update your delivery settings (lead time, timeslot window, capacity), clear your full cache afterwards. This ensures the checkout page reflects the new configuration.
To confirm caching isn't the cause of an issue, temporarily deactivate your caching plugin and test checkout. If the date picker or timeslots work correctly without the cache plugin active, the issue is a caching configuration problem rather than a plugin bug.