SSP Documentation
SSP Woo Seasonal Countdown Bar
Admin Screen
The plugin adds a top-level menu item Countdown Bar with a single settings page and a live preview.
Live Preview
- Shows the full bar (theme colors, timer, CTA, close).
- Uses the current global deadline and updates every second.
- No slideshow — preview reflects your theme pick/auto logic only.
Controls
- Status & Timer (enable + days/hours/minutes, reset button).
- Theme Source — Auto (season/holiday) or Exact (one theme).
- Per-Item Rules — optional overrides for each theme.
Layout & CTA
- Fixed vs Sticky placement, stop pushing after end, allow close.
- CTA mode, URL, and button text.
Tip: If the deadline passes, the plugin rolls a new one using your configured duration.
Status & Timer
Enable bar | Master toggle for frontend output. |
---|---|
Duration | Days / hours / minutes for the global countdown. All zero defaults to 1 minute. |
Reset Timer Now | Sets a new deadline from “now” using the current duration. |
Global deadline (ms) | Stored in scb_global_deadline_ms (for reference & preview). |
Themes & Rules
Theme Source
Auto — Picks a holiday if in window/month; otherwise falls back to current season.
Seasons: spring, summer, fall, winter. Holidays: New Year, Valentine’s, St. Patrick’s, Easter, Independence, Labor Day, Halloween, Thanksgiving, Black Friday, Christmas.
Seasons: spring, summer, fall, winter. Holidays: New Year, Valentine’s, St. Patrick’s, Easter, Independence, Labor Day, Halloween, Thanksgiving, Black Friday, Christmas.
Exact — Forces a specific theme (e.g., Halloween) regardless of date logic.
Holiday Logic
Global mode | Window (next holiday within N days) or Month (when calendar month matches; Easter handled via computed date). |
---|---|
Window days | Used when Global mode is Window. |
Per-Item Rules | Overrides global logic per theme. Holidays accept window (with days) or month. Seasons accept auto (season boundaries). |
Season boundaries used by Auto
- Spring: ~Mar 20 → Jun 20
- Summer: Jun 21 → Sep 22
- Fall: Sep 23 → Dec 20
- Winter: Dec 21 → ~Mar 19 (to next year)
Holiday dates
Fixed dates for most; Easter is computed; Labor Day (1st Mon Sep), Thanksgiving (4th Thu Nov), Black Friday (day after Thanksgiving).
Include / Exclude
Toggle which seasons and which holidays are allowed to appear. Auto logic only considers included items.
Seasons
- Spring, Summer, Fall, Winter (checkboxes)
Holidays
- New Year, Valentine’s, St. Patrick’s, Easter, Independence, Labor Day, Halloween, Thanksgiving, Black Friday, Christmas
Bulk helpers: set all holidays to Window/Month with a chosen days value; set seasons to Auto.
Frontend Behavior
Mount point | Injected at wp_body_open as #scb-root (created if missing). |
---|---|
Fixed vs Sticky | Fixed pushes the page down (adds html.scb-pushed with --scb-offset ). Sticky sits in normal flow. |
Stop push after end | When the timer ends, remove page push to reclaim space. |
Allow close | Dismiss (X) stores a session flag; bar stays hidden until a new session. |
Cycle | Kept for backward compatibility in options; slideshow UI removed. |
Hooks-free drop-in: All logic is self-contained in the bar’s script; no extra shortcodes or templates required.
Call to Action
Modes | Shop (uses site’s shop URL), Custom (any URL), None (hide button). |
---|---|
URL | Full URL (https://…); used by Shop and Custom. |
Text | Button label. |
Tip: Use a campaign URL (UTM) to measure performance during holiday windows.
Accessibility
- The container has
role="region"
andaria-label="Special Offers"
. - Timer group uses
aria-live="polite"
for updates. - Close button includes an accessible label (Close).
- Color sets are theme-variable based; ensure sufficient contrast with your site palette.
Troubleshooting
Bar doesn’t appear
- Make sure Enable bar is checked.
- If you removed
wp_body_open
in your theme, the plugin will inject the node at the top of<body>
; ensure no CSP blocks inline CSS/JS. - Dismissal is stored in
sessionStorage
(scb_dismissed
). Open in a new tab/window or clear session storage.
Theme seems wrong
- Check Theme Source (Auto vs Exact).
- For Auto, verify the item is included under Include / Exclude.
- For Holiday windows, confirm the window days and per-item overrides.
Timer ended but page is still pushed
Enable Stop pushing after end under Layout & CTA.
Preview doesn’t match frontend
The preview uses the stored global deadline. If you changed duration, click Reset Timer Now to align preview and frontend.