Documentation: Event Dates and Calendar - Understand how to set up and use our excellent plugin.
This guide covers installation, configuration, and everyday use of Event Dates & Calendar for WooCommerce.

Requirements
- WordPress (current version recommended)
- WooCommerce installed and active
- A valid license key (licensed builds)
1) Install & activate
- In WordPress admin, go to Plugins → Add New → Upload Plugin.
- Upload the plugin ZIP, click Install Now, then Activate.
- Confirm WooCommerce is active.
2) Activate your license (licensed builds)

- Go to WooCommerce → Settings → Event Calendar.
- Open the Licensing sub-tab.
- Paste your license key and click Activate license.
If the license is inactive, the calendar will show a license notice instead of rendering.
To move a license to another site, use Deactivate license on the same screen.
3) Configure plugin settings

All settings are located at WooCommerce → Settings → Event Calendar.
Within the Event Calendar tab, you’ll typically see these subtabs:
- General — global defaults for calendars and display toggles
- Venues — create/manage venues
- Styling — color + typography settings
- Maintenance — index rebuild tools + uninstall data option
- Licensing — license key activation (licensed builds)
General (defaults)
These defaults apply when you insert a calendar without explicitly setting attributes in the block or shortcode.
Common settings:
- Default product categories: categories shown when a calendar is inserted without specifying categories.
- Product types (optional): limit results by product type slug(s) (example:
event_ticket). - Hide sold-out items: excludes out-of-stock products.
- Week starts on: Sunday or Monday.
- Cache TTL (seconds): transient caching duration. Set to
0to disable caching. - Creation-date lookback (months): optionally limit results to products created within the last N months. Set to
0to disable. - Max items per day: limit how many products are listed inside each day cell. Set to
0for unlimited. - No events message: shown when a month has no matching products.
- Presets: reusable configurations (see “Presets” below).
Display toggles (defaults):
- Show price
- Show event time
- Show venue
- Show tickets-left / sold-out badge
- Show call-to-action button (add-to-cart or product link)
Also note:
- Event type filter label controls the label shown next to the category filter dropdown on the front end.
Venues

Venues let you assign a location to each product event and optionally filter calendars.
- Add a venue name (required).
- The plugin generates a slug for each venue.
- You can delete venues from the list.
Tip: If you delete a venue, products that were assigned to it will still have the saved venue slug in their meta, but that venue will no longer be selectable from the venues list.
Styling

Styling settings map to CSS variables used by the calendar (colors, font sizes, cell height). This is the recommended way to match the calendar to your theme without writing custom CSS.
Maintenance

The calendar uses an indexed database table for fast month lookups.
- Rebuild index table: backfills/syncs event data into the index.
- Emergency fallback: if enabled, the plugin can fall back to slower meta queries when the index table is missing.
- Remove data on uninstall: destructive option that drops the index table and deletes plugin options when the plugin is uninstalled.
4) Create venues (optional)

- Go to WooCommerce → Settings → Event Calendar → Venues.
- Enter a venue name (and optional address/notes, if provided).
- Click Add.
- Copy the venue slug if you want to lock a calendar to that venue via block/shortcode.
5) Add event dates (and optional time/venue) to products
You can add event fields while editing a product, or via Quick Edit.
Option A — Product editor

- Go to Products → All Products and edit a product.
- In the Product data panel, find the Event Dates fields.
- Set:
- Event start (required)
- Event end (optional)
- Event time (optional text, example:
7:30 PM) - Venue (optional dropdown; appears after you create venues)
- Click Update.
Option B — Quick Edit

- Go to Products → All Products.
- Hover a product and click Quick Edit.
- Set the event fields and click Update.
Notes:
- If Hide sold-out items is enabled, out-of-stock products will not appear.
- When you save products normally, the index table is updated automatically.
6) Insert the calendar on a page
You can insert the calendar using either the Block Editor block or a shortcode.
Option A — Block Editor (recommended)

- Edit a page or post.
- Click Add block (+) and search for Event Dates Calendar.
- Insert the block.
- Configure options in the block sidebar (preset, month, categories, venue, display toggles, etc.).
Editor note:
- The block is server-rendered; depending on your build/settings, the editor may show a simplified preview while the full calendar renders on the front end.
Option B — Shortcode
Paste this into a page/post (or a Shortcode block):
[event_dates_calendar]7) Shortcode / block parameters
The primary shortcode is:
[event_dates_calendar]Filtering parameters
month="YYYY-MM"— initial month (example:2026-01).preset="name"— apply a preset defined in settings.category="slug,slug"— product category slug(s) (comma-separated).tag="slug,slug"— product tag slug(s) (comma-separated).venue="venue-slug"— lock the calendar to a single venue.product_types="slug,slug"— product type slug(s) (example:event_ticket).
Display / behavior parameters
hide_sold_out="1|0"show_nav="1|0"max_items_per_day="0..N"(0 = unlimited)event_type_label="Your label"no_events_message="Your message"
Display toggles
show_price="1|0"show_time="1|0"show_venue="1|0"show_tickets_left="1|0"show_add_to_cart="1|0"
Examples
Calendar locked to a venue:
[event_dates_calendar venue="main-stage"]Calendar limited to specific categories:
[event_dates_calendar category="comedy,music" show_price="1"]Using a preset:
[event_dates_calendar preset="comedy"]8) Front-end navigation, filters, and URL syncing
The calendar uses AJAX for smooth month switching and filtering.
Month navigation
- The previous/next month links load new months via AJAX (no full page refresh).
Venue filter (when available)

A Venue dropdown appears only when:
- You have created venues, and
- The calendar is not locked with
venue="..."via shortcode/preset/block.
If the calendar is venue-locked, the venue dropdown is hidden.
Event Type filter (product categories)

An Event Type dropdown (product categories) appears when the calendar is not category-locked.
Category locking typically happens when:
- You set
category="..."via shortcode/preset/block, or - Multiple categories are applied (the UI is single-select), so the filter is hidden.
URL parameters
The calendar can sync state into the URL so views can be shared and browser back/forward works:
ec_month=YYYY-MMec_venue=venue-slug(only when the calendar is not venue-locked)ec_cat=product-category-slug(only when the calendar is not category-locked)
Example:
?ec_month=2026-01&ec_venue=main-stage&ec_cat=comedy
Browser Back / Forward restores month and any unlocked filters.
9) Presets

Presets let you define reusable calendar configs in WooCommerce → Settings → Event Calendar → General.
Enter one preset per line using the format:
name|key=value;key=valueExample:
comedy|category=comedy;product_types=event_ticket;hide_sold_out=1;show_price=1;show_add_to_cart=1
music|category=music;show_time=1;show_venue=1Then embed:
[event_dates_calendar preset="comedy"]Rules:
- Presets supply defaults.
- Any attribute explicitly set in the shortcode/block overrides the preset.
10) Maintenance and caching notes

Rebuild index table
Use Maintenance → Rebuild index table if you:
- Imported products in bulk
- Migrated/restored the site
- Changed event dates programmatically
- Suspect events are missing despite correct product fields
Emergency fallback
Enable Emergency fallback only as a safety net if the index table is missing. It is not intended as normal operation (it can be slower on large catalogs).
Cache TTL
If you’re actively testing changes and don’t see updates immediately:
- Temporarily set Cache TTL to
0, test, then restore it.
11) Uninstall / data removal
By default, uninstalling the plugin does not remove data.
If you enable Remove data on uninstall, uninstalling will remove:
- The plugin’s indexed events database table
- Plugin options/settings (including venues)
This is destructive and cannot be undone. Enable it only when you are sure you want the data deleted.
12) Troubleshooting
The calendar shows a license warning instead of rendering
- Activate your license in WooCommerce → Settings → Event Calendar → Licensing.
Events don’t appear on the calendar
Check these in order:
- The product has an Event start date.
- The product matches the calendar’s filters (category/tag/venue/product type).
- If Hide sold-out items is enabled, the product is in stock.
- If Creation-date lookback is enabled, the product isn’t older than the lookback window.
- Run Maintenance → Rebuild index table after imports/migrations.
Venue dropdown doesn’t appear
- Create at least one venue in Event Calendar → Venues.
- Ensure the calendar is not venue-locked (
venue="..."hides the dropdown by design).
Event Type dropdown doesn’t appear
- The calendar is likely category-locked (via
category="..."or multiple categories).
AJAX navigation doesn’t work
- Confirm the WP REST API is reachable (some security plugins can block it).
- Check the browser console for errors.
- Temporarily disable caching/minify plugins to test.
