Opens in a new tab
20th Nov '25
/
0 comments

Upcoming Events in Bricks Grouped by ‘Month Year’ with Frontend Filtering by Event Type

This is a newer version of the earlier Upcoming Events Grouped by 'Month Year' in Bricks tutorial with these improvements:

  • two nested queries instead of three for the events grouped by month years
  • frontend filtering by event type (a custom taxonomy) using custom JavaScript

Step 1

Create event CPT and corresponding event-type taxonomy with a plugin like ACF.

Create a field group for your CPT having an event-date custom field of Date Picker (or Date and Time Picker).

For Date Picker type field, set return format to Y-m-dFor Date Time Picker type field, set return format to Y-m-d H:i:s

Publish some event posts having event type and event date for each.

Step 2

Let's

  • add a new "Event Month-Year" query loop type
  • create the callback function for the above query loop type
    • get all future events
    • loop through these events and organizes them into groups based on their month and year (e.g., "January 2025", "February 2025")
    • sort chronologically: ensure the months appear in the correct order (oldest month → newest month)
    • return an array having display (human-readable month-year label like January 2025) and posts (array of post IDs belonging to that month) keys
  • add a Bricks helper function to navigate nested query loops
  • create a helper function to get post IDs for the inner loop
    • bl_get_month_year_post_ids(): retrieves the post IDs from the parent month-year group
    • used in the inner post loop to only show events from the current month being looped
  • create a display helper function
    • bl_get_month_year_display(): return the formatted month-year string like "January 2025"
    • used in the Heading element to display the month-year title
  • create a taxonomy helper function
    • bl_get_event_types(): return space-separated taxonomy term slugs for an event
    • used as the value for data-event-type attribute on each event item

Add the following in child theme's functions.php (w/o the opening PHP tag) or a code snippets plugin:

This is a BricksLabs Pro tutorial.

For full access login below or create your BricksLabs Pro account

Get access to all 633 Bricks code tutorials with BricksLabs Pro

Related Tutorials..

Pro
Masonry Accordion Query Loops in Bricks Builder

Masonry Accordion Query Loops in Bricks Builder

Learn how to enable masonry layout for nestable accordions in Bricks builder and use JavaScript to re-layout the masonry on accordions' open and close.
Categories:
Tags:
Adding any Custom WP_Query loop to Bricks’ Query Loop

Adding any Custom WP_Query loop to Bricks’ Query Loop

Sometimes we may need to create a custom post loop using Bricks' query loop feature, but wish to use our own WP_Query code for more…
Pro
Term Parent Slug Data Attribute in Bricks

Term Parent Slug Data Attribute in Bricks

How we can set a data attributes on a child taxonomy dynamically based on the parent taxonomy.
Categories:
Pro
ACF User Field Bricks PHP Query

ACF User Field Bricks PHP Query

In the Bricks Facebook group a user asks: my end goal was to create a set of cards that would display the Users that are…
Categories:
Pro
“My Favorites” in Bricks

“My Favorites” in Bricks

This Pro tutorial provides the steps to set up and use My Favorites in Bricks Builder.
Categories: