Shop Conditions control when a promotion is available based on the current date and time at your store. They're used for flash sales, weekend promotions, holiday campaigns, and happy hour discounts. Requires Ezhance Pro.
Unlike the promotion schedule (which sets a start and end date for the promotion's existence), Shop Conditions are evaluated on every visit and can implement complex timing logic like "only on Saturdays between 12pm and 6pm."
Available Conditions
Current Date
Evaluates today's date against a condition. Supported operators:
- Is Before — Before a specific date
- Is After — After a specific date
- Is On — Exactly on a specific date
- Is Not On — Any day except a specific date
- Is In Range — Between a start and end date
- Is Within Last — Within the last N days/weeks/months
- Is More Than / Is Less Than — Relative date comparisons
Current Time
Evaluates the current time of day. Supported operators: Is Before, Is After, Is On, Is Not On, Is In Range.
Use cases: Happy hour discounts, lunch specials, evening sales.
Examples
- Black Friday Sale — Current Date is in range November 25–30
- Christmas Day — Current Date is on December 25
- Happy Hour — Current Time is between 6:00 PM and 9:00 PM
- Spring Sale — Current Date is after March 1 AND before June 1
- Weekend Only — Current Date is a Saturday OR Current Date is a Sunday (use two groups)
Shop Conditions vs. Promotion Schedule
| Concept | Controls | Best For |
|---|---|---|
| Promotion Schedule | When the promotion exists | Long-running campaigns with a start/end |
| Shop Conditions | When the promotion applies (per-visit evaluation) | Recurring schedules (daily/weekly) or complex timing |
You can combine both — a promotion may exist year-round but activate only during a specific time of day or day of the week.
Best Practices
- Use the promotion schedule for long campaigns with a definite end date.
- Use Shop Conditions when you need recurring timing (e.g., every Saturday, every lunch hour).
- Test date and time conditions carefully — timezone mismatches between your server and WooCommerce settings can cause unexpected behavior.
- Avoid creating overly complex date conditions. Simple date ranges are easier to maintain and troubleshoot.