Appearance
Link to a Search Form
From version 1.4.0, the Calendar widget can be linked to Voxel's own Search Form widget. When a visitor searches or filters in the form, the calendar updates in place to show only matching events — no page reload, and no separate post feed required.
This uses the same pairing flow Voxel uses to connect a search form to a post feed, so if you've linked those before, this will feel familiar.
Setting it up
- Add both widgets to the same page: a Voxel Search Form and the Calendar widget.
- Configure the search form for the same post type the calendar displays (for example, your Events post type). Add whichever filters you want visitors to use — keywords, taxonomy terms, location, and so on.
- Configure the Calendar widget's own Query Settings section: select the Post Types to display, and set Event Date Field to your post type's date field key (Edit Post Type → Fields → your recurring date field → copy its "key"). The calendar queries events from these settings — with no post type selected it renders empty, linked or not.
- Still in the Calendar widget, open the Search Form section in the Content tab.
- Use Link to search form to select the search form widget on the page.
- Click Apply changes, then save the page and view it on the front end.
Same post type on both sides
The search form should search the same post type(s) the calendar is set to display. Filters from a different post type won't match anything on the calendar.
How the calendar reacts
The calendar follows the search form's own Search on setting:
- Filter update — the calendar refreshes live as the visitor changes filters, the same way a linked post feed would.
- Submit button — the calendar waits until the visitor clicks Search. Clicking Clear resets the calendar along with the form.
Clearing a filter always brings the hidden events back — the calendar mirrors the form's current state exactly.
All filter types apply
Filtered calendar queries run through Voxel's native search engine — the same one that powers the post feed. That means every filter type on the form applies correctly: keywords, taxonomy terms, location, date, stepper and range filters, and the rest.
Arriving with a search already applied
If the page is opened with search parameters in the URL (for example, a visitor followed a link like /events-calendar/?keywords=music), the calendar renders already filtered on first load, following the form's own "Update URL" precedence rules.
Default filter values pre-filter the calendar
From version 1.4.1, any default value configured on the form's filters applies to the calendar's first render — including dynamic tags. For example, on a single-post template, give the form's relation filter a default of @post(your-relation-field.id) and the calendar loads showing only that post's related events — a per-organizer timetable with no visitor interaction needed. Clearing the filter in the form brings everything back.
Requirements
- Voxel Calendar 1.4.0 or newer (1.4.1 for default filter values pre-filtering the calendar)
- The Voxel theme active (the link control and search engine are Voxel features)
Troubleshooting
- The calendar doesn't react to the form — confirm the link is set in the Calendar widget's Search Form section and that you clicked Apply changes and saved the page after linking. The pairing is stored with the page, so re-save if the widgets were moved between containers.
- Filtering hides everything — check that the search form's post type matches the calendar's, and that the matching posts actually have a value in the calendar's configured event date field.

