Visitors should not have to guess what to do when your business is open or
closed. HoursFlow CTA lets you present one clear action for each state, such as
calling while you are open and booking or sending a message after hours.
Configure it once in Settings > HoursFlow, then use the same schedule-aware
CTA through a shortcode or a dynamic block. HoursFlow renders the selected state
on the server, without an account or a remote service.
HoursFlow CTA is for small businesses, studios, practices, shops, and service
teams that want a simple open-hours action on their WordPress site. It works
well when the action changes with the weekly schedule and the site owner wants
to keep the copy and destination under their control.
tel: actions, with plain-textHoursFlow CTA is a focused weekly-hours switch, not a booking system or a full
business-hours manager. Each weekday has one period or is closed. Holiday
exceptions, multiple daily periods, split shifts, date ranges, and automatic
schedule-generated status copy are outside this release. The status message is
written by the administrator and stays exactly as configured.
HoursFlow is intended for a single-site installation. Multisite and network
activation are not claimed by this release.
Use the shortcode anywhere WordPress processes shortcodes:
[hoursflow_cta]
[hoursflow_cta hide_status="1"]
Only the exact hide_status="1" value hides the selected state’s status. Other
attributes and enclosed content are ignored.
The dynamic hoursflow/cta block uses the same server renderer. It can override
the label, action, or status independently for its open and closed states. A
block can also hide a state’s status; invalid or missing values fall back to
the corresponding global value. Removing all overrides restores the standard
block output.
Times use the saved business timezone, not the visitor, browser, server, or
WordPress site timezone. UTC and named IANA regions such as
America/New_York are valid; raw UTC offsets are not.
A period is half-open: the opening minute is open and the exact closing minute
is closed. A closing time earlier than the opening time continues overnight
into the next day and belongs to the day on which it starts. Equal opening and
closing times are invalid and do not mean 24-hour opening. PHP’s timezone data
handles daylight-saving transitions; there is no separate DST setting.
Global background and text colors apply to the shortcode and provide the
block defaults. Blank saved colors use #166534 and #FFFFFF; nonblank colors
must be six-digit hexadecimal values and the pair must meet WCAG 2.2 AA
contrast for normal text. Blocks may use WordPress’s built-in color and
typography controls for instance-specific styling.
The frontend CTA is a native keyboard-operable link with visible focus styling,
readable status text, safe wrapping, and no fake button role or live region.
The settings screen includes a keyboard-operable preview that never follows an
action.
HoursFlow checks the schedule when the shortcode or dynamic block renders.
Cached page HTML can therefore remain stale until the site’s page-cache TTL.
If a site needs a maximum staleness of N minutes, set its cache TTL to no
more than N minutes or arrange boundary purges in the site’s own caching
system. HoursFlow does not manage cache variation or purges.
HoursFlow makes no external requests and loads no remote scripts, fonts, images,
or stylesheets. It collects no visitor data, sets no cookies, and performs no
tracking or telemetry. A visitor can follow the configured CTA, and an
administrator can follow the clearly labeled Gasatrya hire or donation link on
Settings > HoursFlow; those are ordinary user-initiated navigations.
Deactivation stops HoursFlow behavior but keeps the saved settings for
reactivation. Uninstall deletes the HoursFlow configuration and schema marker.
The plugin creates no custom tables, posts, pages, user metadata, or transient
business data. Reinstalling after uninstall starts unconfigured.