Display Settings
2 min read
Display Settings control the global Smart Cycle Discounts badge system introduced in v1.7.23. This tab now manages badge visibility, template fallback, overlap behavior with native WooCommerce sale badges, time-phase text, and badge HTML caching.
Accessing Display Settings #
- Go to SC Discounts → Settings
- Open the Display tab
Display & Badges Settings #
Badge Display Section #
| Setting | Purpose | Default |
|---|---|---|
| Enable Badges | Master switch for campaign badge output | Enabled |
| Show on Shop/Archive | Allows badge rendering on product loops | Enabled |
| Show on Product Page | Allows badge rendering on single product gallery/images | Enabled |
| Show in Cart/Checkout | Controls cart/checkout badge visibility signals used by badge UI/contexts (not the core cart price discount calculation itself) | Enabled |
| Default Template | Global badge template fallback when a campaign template is not set | default |
Behavior Section #
| Setting | Purpose | Default |
|---|---|---|
| Campaign Priority Mode | How winning campaigns are resolved (manual or smart) |
manual |
| Enable Time-Phase Badge Text | Allows auto text overrides near campaign start/end | Enabled |
| Phase Window | Hours used for phase text logic (1–168) |
24 hours |
| Native Sale Badge Strategy | hide_native or offset_badge handling for WooCommerce/theme sale badges |
hide_native |
| Force Hide Native Sale Badges | Hard toggle for hiding native sale badge output | Enabled |
| Enable Badge HTML Cache | Caches rendered badge markup for faster repeated loads | Enabled |
Important: If Native Sale Badge Strategy is set to offset_badge, native sale badges are kept and the force-hide toggle is effectively disabled.
Template System #
Supported Templates #
Smart Cycle Discounts currently supports:
defaultpillribbonoutlinesquarecircletagdashed
Global vs Campaign Template Resolution #
- If a campaign has a valid
badge_template, that template is used. - If campaign template is empty/invalid, Display Settings Default Template is used.
- If global default is invalid, fallback is
default.
Outline and Dashed Color Behavior #
outline and dashed use outline-style rendering:
- Transparent background
- Badge border/text use the configured badge background color
Context Rules by Discount Type #
Context visibility is controlled by both global Display toggles and discount-type rules:
- Shop/Archive: BOGO and Spend Threshold badges are suppressed.
- Product Images: Spend Threshold badges are suppressed.
- Gallery Thumbnails: Compact badge text is used (for example
-20%,BOGO,DEAL).
This is why a badge can be enabled at campaign level but still be hidden in certain frontend contexts.
Badge Text Generation #
Order of Text Resolution #
- Campaign custom text (if not
auto) - Phase text (
Starts SoonorEnds Soon) when enabled and within phase window - Auto-generated text from discount type
Auto Text Examples #
- Percentage:
Save 20% - Fixed:
Save $10.00(currency aware) - BOGO:
Buy 1 Get 1 Free(or quantity variant) - Tiered:
Volume Discounts
WooCommerce/Theme Overlap Handling #
The plugin integrates through WooCommerce display hooks and can hide or coexist with native sale badges depending on your overlap strategy.
- Hide mode: Native sale badges are suppressed for products with active SCD badge output.
- Offset mode: Native badges remain visible and SCD badges use offset styling (
.wsscd-badge-with-sale).
If your theme injects custom sale labels, test both strategies and clear all caches after saving changes.
Caching and Performance #
Badge HTML Cache #
When enabled, rendered badge HTML is cached with a settings-aware fingerprint to reduce repeated rendering cost. Cache entries are short-lived and keyed by product, context, badge payload, and display settings.
When to Clear Cache #
- After changing Display Settings
- After changing badge template/color settings in campaigns
- After deploying theme CSS that affects badge classes
Frontend CSS Classes #
Use these classes for theme-level styling:
.wsscd-discount-badge(base badge).wsscd-badge-position-top-left,.wsscd-badge-position-top-right,.wsscd-badge-position-bottom-left,.wsscd-badge-position-bottom-right.wsscd-badge-style-pill,.wsscd-badge-style-ribbon,.wsscd-badge-style-outline,.wsscd-badge-style-square,.wsscd-badge-style-circle,.wsscd-badge-style-tag,.wsscd-badge-style-dashed.wsscd-badge-with-sale(offset mode).wsscd-badge-compact(gallery thumbnails).wsscd-has-discount(body/product class when native hide mode is active)
Troubleshooting Checklist #
- Confirm campaign badge is enabled in Wizard Step 3.
- Confirm global Enable Badges is on.
- Check context toggles (Shop/Product/Cart).
- Check discount type context limits (for example Spend Threshold is cart-focused).
- Test overlap strategy (
hide_nativevsoffset_badge). - Clear plugin/object/page cache and browser cache.