Horair – Opening hours

Description

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.

Ready for translation on translate.wordpress.org.

Developers: do_action('horair_hours_updated', $hours) fires on every change; horair_state()['data'] holds the current hours. Markup classes: .horair-hours, .horair-hours__table, .horair-hours__special, .horair-badge-spot.

External services

This plugin works without any external service. When you choose to connect it to Horair (https://horair.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. Horair terms: https://horair.com/terms – privacy policy: https://horair.com/privacy

Credits

The open/closed badge uses the Pacifico, Bebas Neue, Montserrat and Oswald fonts, under the SIL Open Font License 1.1 (assets/widget/fonts/OFL.txt).

Screenshots

Blocks

This plugin provides 1 block.

  • Opening hours Your opening hours and upcoming special hours, always up to date.

FAQ

Do I need a Horair account?

No. The plugin manages and displays your hours on its own. Horair adds the sync with Google, Facebook and your other websites.

Which timezone is used?

Your WordPress timezone (Settings > General), or your location’s timezone in Horair once connected. Hours are always shown as local time.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Horair – Opening hours” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.1

  • Opening hours block: spacing, font size and alignment set in the block settings now show on the site, not only in the editor.

1.0.0

  • First release: weekly and special opening hours, “Opening hours” block and [horair_hours] shortcode (detailed or grouped days), schema.org opening hours (Yoast SEO / Rank Math or own LocalBusiness), page cache purge.
  • Live open/closed badge: on every page or with [horair_badge], 27 looks, set in the plugin or in Horair when connected.
  • Optional Horair connection: two-way sync with Google, Facebook and your other websites.
  • Disconnecting or uninstalling the plugin tells Horair to stop sending the hours (the key is revoked).
  • Translations: French, German, Spanish, Italian.