Show the right call to action for the hours you keep.

HoursFlow CTA switches between open and closed WordPress calls to action using your weekly business hours and IANA timezone.

A static call to action cannot know when your business is open.

A fixed CTA presents one state at every hour. HoursFlow CTA gives administrators a schedule-aware way to define separate open and closed content without turning the page into a live polling surface.

One state all day

  • The same label and destination appears at every hour
  • A single CTA has no open or closed state
  • Status context has to live somewhere else on the page

Schedule-aware output

  • Monday-Sunday hours and a named IANA timezone define the state
  • Open and closed labels and actions stay separate
  • Optional administrator-authored status copy explains either state

A small schedule model for a clear CTA state.

Configure the schedule once, then use the shortcode or dynamic block wherever the right open or closed action belongs.

Weekly hours + overnight periods

Set Monday-Sunday hours with one period per day or mark a day closed; an overnight period can continue into the next day.

Monday-Sundayovernight

Named IANA business timezone

Choose the IANA timezone that defines when HoursFlow evaluates the weekly schedule.

IANAbusiness time

Separate state content

Write a label, action, and optional administrator-authored status for both open and closed states.

openclosed

Shortcode + block overrides

Add [hoursflow_cta] or the dynamic hoursflow/cta block, then use sparse per-state overrides where a placement needs different content.

shortcodedynamic block

Three destination types

Point actions to HTTPS URLs, root-relative URLs, or tel: destinations.

HTTPStel:

Appearance + contrast

Tune global appearance and block color/typography controls; the global color pair must satisfy WCAG AA for normal text.

WCAG AAtypography

Server-rendered + private

HoursFlow renders the CTA on the server and uses no timers, polling, AJAX, tracking, cookies, or remote services.

server-renderedno tracking

Focused limits + cache reality

There are no holiday exceptions, split shifts or multiple periods, or automatic next-opening text; cached HTML may remain stale until the page-cache TTL, and HoursFlow does not manage purge or variation.

focused limitscache TTL

A schedule-aware CTA for regular weekly hours.

HoursFlow CTA fits teams that need two clearly authored CTA states without adding a larger scheduling system.

Show the scheduled state

Use weekly hours and a named business timezone to present the configured open or closed action on a clinic site.

Clinics

Switch menu or contact action

Keep the open and closed labels, actions, and optional status copy aligned with regular service hours.

Restaurants

Represent regular hours

Use a weekly schedule with an overnight period or a closed day without adding holiday exceptions or split shifts.

Salons & studios

Route each state

Use HTTPS, root-relative, or tel: actions for the open and closed states in a shortcode or dynamic block.

Local service teams

Set the schedule, then place the state-aware CTA.

  1. Copy the plugin directory to wp-content/plugins/hoursflow/ and activate HoursFlow CTA.
  2. Open Settings → HoursFlow after activation.
  3. Choose the named IANA timezone, set Monday-Sunday hours, and write the open and closed labels, actions, and optional status copy.
  4. Add [hoursflow_cta] or the dynamic hoursflow/cta block, then set a suitable page-cache TTL for the schedule.