Skip to main content

Filter Widgets

Add AJAX-powered filtering to your Elementor event listings.

Available Filter Widgets

Lista Recurring Events provides two filter widgets for Elementor:

  • LRE Date Filter — Filter by preset date ranges
  • LRE Taxonomy Filter — Filter by category/tag

Both work via AJAX for a seamless user experience.

Date Filter Widget

Filter events by preset date ranges.

Content Settings

SettingDescription
Date OptionsWhich presets to show
Show "All" OptionInclude "All Dates" choice
All LabelText for "All" option

Available Presets

  • Today
  • Tomorrow
  • This Week
  • Next Week
  • This Month
  • Next Month
  • This Year

Style Settings

SettingDescription
Display TypeButtons, Pills, or Dropdown
TypographyFont settings
Normal ColorsText and background
Active ColorsSelected state styling
Hover ColorsHover state styling
BorderBorder settings
Border RadiusCorner rounding
PaddingInternal spacing
GapSpace between items

Taxonomy Filter Widget

Filter by categories, tags, or custom taxonomies.

Content Settings

SettingDescription
TaxonomySelect taxonomy (Category, Tag, etc.)
Selection ModeSingle or Multiple selection
Show "All" OptionInclude "All" choice
Show Event CountsDisplay count per term
Include TermsLimit to specific terms
Exclude TermsHide specific terms

Style Settings

SettingDescription
Display TypeButtons, Pills, Dropdown, Checkboxes, or Radio
TypographyFont settings
ColorsNormal, Active, Hover states
Border & RadiusBorder styling
Padding & GapSpacing
Count BadgeStyling for count display

Connecting Filters to Loop

Filters automatically connect to the LRE Events Loop widget on the same page. No manual targeting needed.

If you have multiple loop widgets, filters affect all of them.


Filter Layout Examples

Horizontal Bar

Place filters in a row above your events:

Section (Flex, Row)
├── LRE Date Filter
├── LRE Taxonomy Filter
└── Spacer
─────────────────────
Section
└── LRE Events Loop

Filters in a sidebar column:

Section (2 Columns)
├── Column (25%)
│ ├── LRE Date Filter
│ └── LRE Taxonomy Filter
└── Column (75%)
└── LRE Events Loop

AJAX Behavior

When filters change:

  1. Filter sends request to server
  2. Events loop shows loading state
  3. Results update without page reload
  4. URL updates (shareable/bookmarkable)
  5. Pagination resets to page 1

Loading State

During filtering, the loop container fades. Customize with CSS:

.lre-elementor-loop.lre-loading {
opacity: 0.6;
pointer-events: none;
}

Reset Filters

Users can reset all filters by:

  1. Clicking the "All" option on any filter
  2. Manually removing filter parameters from URL
  3. Adding a custom reset button (see below)

Custom Reset Button

Add an Elementor button with this link:

#lre-reset-filters

Then add this JavaScript:

document.querySelector('[href="#lre-reset-filters"]').addEventListener('click', function(e) {
e.preventDefault();
window.history.pushState({}, '', window.location.pathname);
window.LREFilters.applyFilters({});
});

Styling Tips

Consistent Button Sizes

Use fixed width/height for uniform filter buttons:

.lre-filter-button {
min-width: 100px;
text-align: center;
}

Mobile Optimization

Stack filters vertically on mobile using Elementor's responsive controls:

  1. Select the filter section
  2. Switch to mobile view
  3. Change Flex Direction to Column
  4. Adjust gaps and padding

Active State Visibility

Ensure active filters are clearly distinguishable:

  • Use a bold color contrast
  • Consider adding a checkmark icon
  • Make active state obvious