Every attribute, styling hook and answer for the blocks that are shipping. Each plugin is a single block — there is no settings screen in wp-admin, everything lives in the block sidebar.
Estimated reading time with scroll progress.
Every option on Reading Time, as stored in block.json. Useful when setting defaults in a block pattern, a theme.json style variation, or when registering the block programmatically.
| Attribute | Type | Default | Description |
|---|---|---|---|
wordsPerMinute | number | 200 | Reading speed used for the estimate. Accepts 50–600. |
prefix | string | "" | Text before the number, e.g. "Reading time:". |
suffix | string | "min read" | Text after the number in single-value mode. |
rangeSuffix | string | "min read" | Text after the range in range mode. |
displayAsRange | boolean | false | Show "2–3 min read" instead of "3 min read". |
rangeSpread | number | 1 | How many minutes wide the range is. Accepts 1–5. |
hideShortPosts | boolean | false | Hide the block entirely on posts below the threshold. |
hideThreshold | number | 1 | Minutes below which the block is hidden. Accepts 1–10. |
iconStyle | string | "clock" | One of clock, timer, hourglass, none. |
showProgressBar | boolean | false | Enable the scroll progress bar on the frontend. |
progressBarColor | string | "#4f46e5" | Fill colour of the progress bar. Any CSS colour value. |
progressBarHeight | number | 3 | Bar thickness in pixels. |
progressBarPosition | string | "top" | Either top or bottom of the viewport. |
The block inherits your theme's colour and typography through block supports. When you need to go further, these are the class names the frontend markup uses.
.idara-rtBlock wrapper. Target this to change spacing or alignment..idara-rt-iconThe inline SVG icon, when an icon style other than none is chosen..idara-rt-textThe text node — prefix, value and suffix together..idara-rt-progress-wrapFixed-position track for the scroll progress bar..idara-rt-progress-barThe filling element inside the track..idara-rt-progress-top / .idara-rt-progress-bottomPosition modifier on the track.The plugin strips block markup, shortcodes and HTML from the post content, counts the remaining words, and divides by your words-per-minute setting (default 200). The minimum displayed value is 1 minute.
Yes. Place the block inside any block template or template part — for example in a "Single Post" template, just below the Post Title block.
No. The whole plugin is under 25 KB, 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.
The frontend script is under 1 KB of vanilla JavaScript using a passive scroll listener and requestAnimationFrame, so it never blocks the main thread during scroll.
In the block sidebar, under Format, click "Range". You can then set how wide the range should be, from 1 to 5 minutes.
Weekly hours with a live open-now status.
Every option on Business Hours, as stored in block.json. Useful when setting defaults in a block pattern, a theme.json style variation, or when registering the block programmatically.
| Attribute | Type | Default | Description |
|---|---|---|---|
days | array | Mon–Fri 09:00–17:00, Sat & Sun closed | Seven entries, one per day. Each is { closed, slots } where every slot is { open, close } in 24-hour HH:MM. |
specialHours | array | [] | Date-specific overrides that replace the weekly schedule, each with an optional label. |
heading | string | "" | Optional heading rendered above the table. |
timeFormat | string | "12" | Either "12" or "24". |
showStatus | boolean | true | Show the live Open now / Closed pill. |
highlightToday | boolean | true | Emphasise the current day's row. |
hideClosedDays | boolean | false | Omit closed days from the table entirely. |
accentColor | string | "#0f766e" | Accent for the status pill and today highlight. |
timezoneOverride | string | "" | IANA timezone name. Empty means use the site timezone from Settings → General. |
showSchema | boolean | false | Emit LocalBusiness JSON-LD built from the same hours. |
businessType | string | "LocalBusiness" | schema.org type, validated against an allow-list. |
businessName | string | "" | Schema only. Business name. |
streetAddress | string | "" | Schema only. Street address. |
addressLocality | string | "" | Schema only. City or town. |
addressRegion | string | "" | Schema only. State or region. |
postalCode | string | "" | Schema only. Postal or PIN code. |
addressCountry | string | "" | Schema only. Country. |
telephone | string | "" | Schema only. Public phone number. |
priceRange | string | "" | Schema only. Price band, e.g. "$$". |
businessUrl | string | "" | Schema only. Canonical URL for the business. |
The block inherits your theme's colour and typography through block supports. When you need to go further, these are the class names the frontend markup uses.
.idara-bh-tableThe weekly hours table..idara-bh-headingOptional heading above the table..idara-bh-rowOne row per day..idara-bh-todayAdded to the current day's row when highlight-today is on..idara-bh-dayDay-name cell..idara-bh-hoursHours cell, including split shifts..idara-bh-statusThe status pill wrapper..idara-bh-status-dotColoured dot inside the pill..idara-bh-status-labelThe "Open now" / "Closed" text..idara-bh-status-hint"Opens at…" / "Closes at…" hint beside the label..idara-bh-status-sepSeparator between label and hint..idara-bh-accentApplied to elements that take the accent colour.--idara-bh-accentAccent colour, set from the accentColor attribute.--idara-bh-todayBackground tint for the highlighted current day.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 from Settings → General. You can override it per block when a particular location sits in a different timezone.
Yes. Each day supports multiple time ranges — add as many open-to-close slots per day as you need, for example 9:00–12:00 and 14:00–18:00 around a lunch break.
Yes. Add a Special hours entry for a specific date to override the weekly schedule — closed on a public holiday, or reduced hours on a particular day.
It outputs JSON-LD structured data describing your business name, address, phone and opening hours in a format search engines understand, which can improve how your hours appear in local results. It is optional, and only the fields you fill in are included.