Description
Chronos – Opening Hours & Scheduling helps store owners control exactly when WooCommerce can accept orders.
It is built for restaurants, fast food delivery, local pickup, small retail shops, and service businesses where orders must follow real opening hours. Set your weekly schedule, add breaks, mark days as closed, enter manual holidays, and let Chronos automatically block ordering when the store is closed.
The FREE plugin focuses on the essentials: clear store status, reliable order blocking, customer-friendly notices, and a clean admin workflow without unnecessary bloat.
Why store owners use Chronos
- Stop WooCommerce orders automatically when the store is closed
- Show customers a clear closed-store notice instead of allowing failed orders
- Display reopening information and a weekly opening-hours dialog
- Handle daily breaks, closed weekdays, overnight hours, and manual holidays
- Keep staff in control with Auto, Open, and Closed modes from the admin bar
- Use WordPress timezone, date format, and time format settings
- Keep the storefront light: no tracking scripts, no external front-end assets, and no unnecessary services
Main features
- Weekly opening and closing schedule
- Optional daily break intervals
- Support for overnight opening hours
- Full-day closed setting for each weekday
- Manual holiday dates using the site’s regional date format
- Automatic purchase blocking while the store is closed
- Protection for product pages, product loops, carts, checkout and the WooCommerce Store API
- Customizable closed-store notification bar
- Dismissible closed-store notification bar with SVG close control
- Reopening information and weekly store-hours dialog
- Automatic status refresh on storefront pages
- Closed product buttons with customer-friendly text
- Manual Auto, Open and Closed controls in the WordPress Admin Bar
- Copy Monday’s hours or break to all other days
- Tabbed settings screen for faster navigation between plan, holidays and notice settings
- Declares compatibility with WooCommerce High-Performance Order Storage (HPOS)
- Translation-ready and compatible with 12-hour and 24-hour time formats
Privacy and performance
Chronos FREE does not contact external services during normal use and does not add tracking or analytics scripts. Store status is calculated locally using your WordPress settings.
Optional PRO add-on
Chronos PRO is a separate add-on distributed outside WordPress.org. It extends the FREE plugin with deadline countdown notices, automatic public holidays, a live dashboard widget, a dedicated mobile staff app, and whitelabel tools for agency/client installs.
Tested Compatibility
Tested with WordPress 7.0 and WooCommerce 10.8.
Chronos is designed for standard WooCommerce product, cart and checkout flows, including classic templates and WooCommerce Store API validation. Compatibility with heavily customized themes, checkout builders or third-party add-to-cart replacements may vary.
Multisite compatibility has not been verified yet.
Installation
- Upload the
chronos-opening-hoursfolder to the/wp-content/plugins/directory, or install the plugin ZIP from the WordPress admin. - Activate the plugin through the Plugins screen in WordPress.
- Make sure WooCommerce is installed and active.
- Open WooCommerce > Store Hours.
- Configure your weekly schedule, breaks, closed days, holidays, and customer notice.
- Test your storefront while the store is open and closed to confirm that ordering is blocked as expected.
After activation, Chronos uses your WordPress timezone, date format, and time format. For best results, check these settings under Settings > General.
FAQ
-
What happens when the store is closed?
-
The plugin blocks add-to-cart requests, validates existing cart contents, prevents checkout, and adds an error to WooCommerce Store API cart requests.
-
Can I add a break during the day?
-
Yes. Each weekday has an optional break start and end time. The store is treated as closed during that interval.
-
Can opening hours continue after midnight?
-
Yes. If the closing time is earlier than the opening time, the plugin treats the schedule as an overnight shift.
-
How can I keep the store open 24 hours?
-
Leave both opening and closing time fields empty for that day and keep the Closed checkbox unchecked.
-
What does Reset days do?
-
It clears all opening and closing times and unchecks the full-day closed setting. The resulting schedule is open 24 hours a day.
-
What does Reset breaks do?
-
It clears only the break intervals. Opening hours and full-day closed settings remain unchanged.
-
How does Manual Open behave?
-
If Manual Open is activated before today’s scheduled closing time, the store opens immediately and still closes according to the schedule. If Manual Open is activated after the scheduled closing time, it remains active until you change the mode manually.
-
How does Manual Closed behave?
-
Manual Closed blocks ordering immediately, but the store returns to normal automatic scheduling on the next day. You do not need to open it manually the next morning.
-
How do manual holidays work?
-
Enter holiday dates separated by commas, semicolons or new lines. The settings screen follows the date order configured in WordPress.
-
Does the plugin support 12-hour time format?
-
Yes. Public times follow the WordPress time format selected under Settings > General.
-
Why does the notification bar overlap my theme header?
-
Adjust the Top position setting. Its default value is 110 pixels to accommodate fixed theme headers.
-
How does the reopening information behave on desktop and mobile?
-
When a scheduled reopening time is available, the closed-store notice shows the main closed message and a clickable reopening line. On desktop, both parts can stay on one line when space allows. On mobile, the main closed message is kept on the first line and the reopening line moves to the second line for predictable wrapping. Tapping the reopening line opens the weekly store-hours dialog. The dialog is appended outside the notice bar, uses SVG close icons, is centered on mobile, and is constrained by the available viewport without inheriting the notice-bar width.
-
When the store is closed, product-loop and single-product add-to-cart controls are changed to a Closed button. Chronos removes AJAX/cart action classes from those controls, keeps ordering blocked, and avoids circular icon-only theme buttons so the closed state remains readable.
-
Can visitors dismiss the closed-store notice?
-
Yes. The closed-store notice has a close button. The dismissal is stored in the visitor browser local storage for the current closed-notice signature, so the notice can reappear when the closed message or reopening information changes.
-
The optional PRO deadline notice stores a dismissal signature in the visitor browser local storage. This is per browser and per device. During testing, open a private window or clear the site’s browser data/local storage if you need to show the same deadline notice again.
-
Does the FREE plugin contact external services?
-
No. The FREE plugin does not send store or visitor data to external services.
-
How does the PRO add-on handle automatic holidays?
-
The optional PRO add-on refreshes supported-country holiday data from OpenHolidays when automatic holidays are first enabled, when the selected country changes, when an administrator clicks Refresh holidays now, and periodically about twice a year. The downloaded holiday data is stored locally as JSON files under
wp-content/uploads/chronos-holidays/. Normal store-status checks read only those local files. -
Where is the PRO mobile control interface?
-
The current PRO add-on uses
/chronos-app/with any non-Plain permalink structure. With Plain permalinks it shows the fallback URL/?wc_hours_app=1. Administrators can be granted a Settings shortcut in the app; other allowed roles can control store status without receiving that shortcut. -
How does the settings screen stay organized when PRO is active?
-
The Chronos settings page uses tabs. FREE manages the store plan, holidays and the notice bar. When the optional PRO add-on is active, the same screen also exposes separate tabs for Deadline, App and Whitelabel settings.
-
Are my settings removed when I deactivate the plugin?
-
No. Deactivation keeps the settings. Deleting the plugin through WordPress runs its uninstall routine and removes its stored options.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Chronos – Opening Hours & Scheduling” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Chronos – Opening Hours & Scheduling” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.5.40
- Reviewed and prepared the FREE package for WordPress.org submission.
- Improved closed-store product-loop buttons so icon-style add-to-cart buttons become clear text buttons labelled Closed.
- Added a dismissible close button to the main closed-store storefront notice, using the same SVG close icon style as the deadline notice.
- Removed the period from the Closed label in the schedule settings.
- Kept ordering protection in add-to-cart, cart, checkout and WooCommerce Store API validation while improving frontend display behavior.
- Updated documentation for the latest closed-store notice and button behavior.
- Made the mobile settings Back to app link use the active app URL, including the plain-permalink fallback.
1.5.39
- Improved admin time-field layout after WordPress time-format display changes.
-
Made opening-hours inputs follow the WordPress time format in the admin settings screen while keeping internal 24-hour storage.
-
Replaced add-to-cart controls on single product pages when the store is closed.
- Fixed a frontend loop that could make product detail pages unresponsive while the store was closed.
- Reworked the closed-store reopening line so it opens the weekly store-hours dialog on both desktop and mobile.
- Improved mobile closed-notice wrapping so the main closed message and reopening information split into predictable lines.
- Refined the store-hours dialog with centered mobile positioning, content-aware width, clearer spacing and SVG close icons.
- Added dismiss support groundwork for PRO deadline notices.
1.5.38
- Unified free-plugin frontend and admin asset handles under the Chronos naming scheme.
- Updated documentation for the current manual override behavior and PRO closing-extension workflow.
- Added a tabbed settings layout that keeps FREE and PRO sections separated inside the same WooCommerce screen.
- Localized the Chronos PRO upsell title in the FREE settings view.
- Rebuilt the closed-store notice timetable as a click/tap dialog shared by desktop and mobile devices.
- Refined the closed-store notice layout so desktop keeps one emphasized line while mobile uses a clearer two-line layout.
1.5.37
- Fixed missing free translations for the admin-bar status switcher and the schedule-aware manual-open confirmation.
1.5.36
- Adjusted the manual-open confirmation so opening before the scheduled close explains that normal closing time still applies.
1.5.35
- Optimized legacy option migration so it no longer runs a migration check on every page load after the current version is installed.
- Refined forced-open reset logic so early manual opening can still close by schedule, while late manual opening remains manual until changed.
1.5.34
- Added a confirmation prompt before manual open is enabled from the admin bar.
1.5.33
- Added WooCommerce HPOS compatibility declaration.
- Added storefront status refresh so notices and add-to-cart controls update after status changes without a page reload.
1.5.32
- Fixed Slovak translation encoding in the compiled language files.
1.5.31
- Added settings transport support for manual Chronos PRO holiday refresh and local holiday-file synchronization.
1.5.30
- Added settings transport support for the updated Chronos PRO automatic holiday selection.
