Opens in a new tab
20th Feb '25
/
2 comments

Bricks Dynamic Condition – Check if today falls within 5 days before any holiday date

Update on 18 Aug 2025: Added the ACF version in the comments.

In the members-only Tutorial Requests section, a user asks

Conditionally show a banner if date exists and is equal to today + 5 days before

I would like to set up a banner for office closures based on holidays/ dates that I put into a meta box custom field ( would a repeater work?) I'd like the banner to show based on in the date is ON or 5 days before that day. It would go disappear if the date has passed. How can I do this?

This Pro tutorial provides a custom function that returns true or false depending on whether today falls within 5 days before any holiday dates selected on a Meta Box setting page.

Consider these dates (in yyyy-mm-dd format) on a settings page:

After implementing the tutorial you'll be able to do set a dynamic data condition like this

on a Section so it gets output only if the current date (i.e., today) is either one of the selected holiday dates or going back 5 days from any of the holiday dates.

Use case: Show a holiday banner only during the holiday period.

Example:

If one of the holiday dates is set to: 23rd August 2025, then any Bricks element can be set to be output only on these dates:

23 Aug 202522 Aug 202521 Aug 202520 Aug 202519 Aug 202518 Aug 2025

Step 1

Install and activate Meta Box and Meta Box AIO.

Meta Box → Settings Pages: Add a new settings page titled say, "Global Settings".

Meta Box → Custom Fields: Add a new field group titled say, "Sitewide". Add a Date Picker type field having a label of say, "Holiday Dates". Enable Cloneable and Sortable.

Location: Settings page = Global Settings.

Step 2

Go to your settings page and select as many holiday dates as the site's business has.

Save settings.

Step 3

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..

Weekday Condition in Bricks

Weekday Condition in Bricks

As of Bricks 1.7, the built-in "Weekday" condition does not work correctly. This is most likely due to it not taking the site's timezone (set…
Categories:
Pro
How to Insert Element(s) Between Query Loop Posts in Bricks

How to Insert Element(s) Between Query Loop Posts in Bricks

Update on 16 Aug 2023: Follow this tutorial instead. This Pro tutorial shows how we can insert a Div (or any custom HTML) after nth…
Pro
Filtering Bricks Query Loop By Meta Box Relationship

Filtering Bricks Query Loop By Meta Box Relationship

In the Bricks Facebook group a user asks: Consider this setup: CPTs: Service Areas and City Pages Meta Box Relationship: City Pages to Service Areas…
Categories:
Pro
Filtering Meta Box Cloneable Group by Select Subfield for Multiple Bricks Query Loops with Conditional Output

Filtering Meta Box Cloneable Group by Select Subfield for Multiple Bricks Query Loops with Conditional Output

In the Bricks Facebook group a user asks: Consider this cloneable Meta Box field group for a Custom Post Type called Tour: with the Tour…
Pro
Check If The Latest Post Was Published in The Last X Minutes

Check If The Latest Post Was Published in The Last X Minutes

In this Pro tutorial we shall define a custom function that takes in the number of minutes as an argument and returns true if there…
Categories:
[Function] Current Term Has Children

[Function] Current Term Has Children

Updated on 20 Jul 2024 A user asks: I'm working on an archive template for WooCommerce products. I'm trying to hide a section if there…
Checking if the current post has been published within the last x days

Checking if the current post has been published within the last x days

Conditionally output an element if the current post has been published in the last x number of days.
Categories: