About this plugin
Works on its own. Enter your weekly hours (two time slots per day for a lunch break) and your special opening hours (holidays, closures, events) in the “Opening hours” menu, then display them anywhere:
- Block “Opening hours” in the block editor, with options in the sidebar.
- Shortcode [horair_hours] for widgets, page builders (Elementor, Divi…) and classic themes: group="1" merges identical days (“Monday – Friday 09:00–19:00”), specials="0" hides the special hours.
- Open/closed badge: a live sign telling visitors whether you are open right now, floating in a corner of every page or placed with [horair_badge]. 27 looks (neon, door sign, bakery, butcher, café…), seasonal decorations, a click shows the week. Drawn in the browser from the hours on your site.
- SEO: adds openingHoursSpecification to the business declared by Yoast SEO / Yoast Local SEO / Rank Math, or declares a LocalBusiness when none exists (can be turned off).
- Page caches purged on every change: WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed Cache, WP Fastest Cache, SiteGround Optimizer, Breeze, Nginx Helper.
Even better with Horair (optional, 14-day free trial): change your hours once, and Google Business Profile, Facebook and this website follow.
- Connect in one step: paste the key copied from Horair (location > Channels > Website plugin). Several websites can be connected to the same location (an e-shop and a blog…).
- Both ways: edit your hours here, in the Horair app or by WhatsApp; every change is published everywhere.
- Public and school holidays suggested in advance.
org.
Developers: do_action('horair_hours_updated', $hours) fires on every change; horair_state()['data'] holds the current hours. horair-badge-spot.
External services
This plugin works without any external service. com) by pasting a connection key, it talks to the Horair API:
- On connection, resynchronization and disconnection: it sends the key and this site’s webhook address ( /wp-json/horair/v1/webhook ) to https://horair.com/api/public/webhooks/connect (or /disconnect ).
- When you save your hours while connected: it sends the hours to https://horair.com/api/public/webhooks/hours.
- Horair then sends every hours change to the webhook address, signed with HMAC-SHA256. If a security plugin disables the REST API for visitors, allow the horair/v1 route.
The open/closed badge script and its fonts are bundled with the plugin: visitors’ browsers never contact Horair. No visitor data is ever sent. com/privacy
Credits
txt ).