Idara Business Hours
Idara Business Hours
Description
Idara Business Hours is a focused, single-purpose Gutenberg block that shows your weekly opening hours in a clean, accessible table — with a live “Open now / Closed” status pill that updates in the visitor’s browser against your business timezone, so it never goes stale behind page caching.
It also emits optional LocalBusiness schema.org markup (JSON-LD) so search engines can show your hours directly in results.
Idara (إدارة) is the Arabic word for “administration” or “management”. Idara Studio is a one-person studio building a growing family of carefully crafted, single-purpose Gutenberg blocks.
Browse the full catalogue, live demos and per-block documentation at idara.studio.
Why this and not a full block suite?
Most block plugins ship 30+ blocks you’ll never use, slowing your editor and your frontend. Idara plugins are deliberately small. This one loads its CSS and JavaScript only on pages where the block is present — never globally.
Features
- Weekly hours editor (Monday–Sunday), each day open or closed
- Split shifts — multiple time ranges per day (e.g. 9:00–12:00 and 14:00–18:00 for a lunch break)
- Live “Open now / Closed” status, computed in the browser against your business timezone (cache-safe via the WordPress Interactivity API)
- “Opens at…” / “Closes at…” hint next to the status
- Special / holiday hours — date-specific overrides (e.g. closed Dec 25)
- Optional LocalBusiness JSON-LD schema (name, address, phone, opening hours) for local SEO
- 12-hour or 24-hour time display
- Highlights the current day in the table
- Per-block timezone control (defaults to your site timezone)
- Inherits theme color and typography via block supports
- Full Site Editing (FSE) compatible — works inside block templates and template parts
- Semantic, accessible markup with ARIA labels
- No tracking, no external requests, no third-party services
- Translation-ready
Use cases
- Restaurants, cafés, and shops showing when they’re open
- Clinics and professional services with split (morning/afternoon) hours
- Any local business that wants accurate hours in search results via schema
Development
Source code and build tools are available on GitHub:
https://github.com/sajid-ansari-65/idara-business-hours
The src/ directory contains the unminified JavaScript (ES modules, JSX) and SCSS. Run npm install && npm run build to compile.
Installation
- Upload the plugin folder to
/wp-content/plugins/, or install via Plugins Add New Upload Plugin - Activate the plugin through the Plugins menu
- Open any post or page in the block editor
- Insert the Business Hours block where you want it displayed
- Set your weekly hours, then configure status, time format, and schema from the block settings sidebar
Screenshots

Block in the WordPress block inserter — find it by searching "Business Hours"

Frontend — weekly hours table with the live "Open now" status pill and today's row highlighted

Block settings sidebar — the weekly hours editor with a split-shift day expanded

Special / holiday hours editor — date-specific overrides

Business details panel — name, address, and phone used for LocalBusiness schema

Frontend — a "Closed · Opens Monday at 9:00 AM" status outside business hours
Faq
The status is computed in the visitor’s browser using the WordPress Interactivity API, comparing the current time in your business timezone against your hours. Because it runs client-side after the page loads, it stays correct even when the HTML is served from a CDN or page cache.
By default the block uses your WordPress site timezone (Settings General). You can override it per block if a particular location is in a different timezone.
Yes. Each day supports multiple time ranges (split shifts) — add as many openclose ranges per day as you need.
Yes. Add Special hours for specific dates to override the weekly schedule (for example, closed on a public holiday, or reduced hours on a particular day).
It outputs structured data (JSON-LD) describing your business name, address, phone, and opening hours in a format search engines understand, which can improve how your hours appear in local search results. It’s optional, and only the fields you fill in are included.
No. The block ships no jQuery and makes zero external requests. Its CSS and JavaScript are enqueued only on pages that actually contain the block — never site-wide.
No. Everything runs locally on your site. No external requests, no analytics, no tracking.
Reviews
Changelog
1.0.0
- Initial release