23rd Mar '23
/
0 comments

Weekday Condition in Bricks

As of Bricks 1.7, the built-in “Weekday” condition does not work correctly.

Wrong output where it is Thursday on the given day when this was tested

This is most likely due to it not taking the site’s timezone (set in WordPress settings) into account.

To work around this, let’s define a custom function and use it with the Dynamic data condition.

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

// Function to check if today is the specified (three letter format) weekday.
// Sample usage: bl_is_weekday( 'Thu' )
function bl_is_weekday( $weekday ) {
	$today = wp_date( 'D' );

	return $today === $weekday;
}

and whitelist it.

Ex.:

<?php 

add_filter( 'bricks/code/echo_function_names', function() {
  return [
    'bl_is_weekday'
  ];
} );

You should also add any other functions (native or custom) being used in your Bricks instance in addition to bl_is_weekday. This can be checked at Bricks → Settings → Custom code by clicking the Code review button.

More info on whitelisting can be found here.

and apply it like this:

{echo:bl_is_weekday(Thu)}

Replace Thu with the three-letter week you want to check against.

To output the element when it is NOT the specified weekday, check against 0 instead of 1.

Alternatively, you could simply do:

{echo:wp_date(D)}

to render the element on the specified weekday.

This way, you don’t have to register a custom function.

Get access to all 633 Bricks code tutorials with BricksLabs Pro

Leave the first comment

 

Related Tutorials..

Dynamic Data :value filter in Bricks

Dynamic Data :value filter in Bricks

Bricks 1.5.7 introduced a new :value dynamic data filter. This tutorial provides a practical example of how this filter can be used. Meta Box Checkbox…
Categories:
Pro
Day of Week Condition in Bricks

Day of Week Condition in Bricks

Displaying elements conditionally based on the current day of the week.
Categories:
Render an element having a specific HTML ID based on value of a custom field

Render an element having a specific HTML ID based on value of a custom field

This tutorial provides the steps to use Bricks' bricks/element/render filter to conditionally output an element that has the specified HTML ID based on the value…
Categories:
Pro
Custom Conditions in Bricks Builder

Custom Conditions in Bricks Builder

Updated on 22 Jun 2022 This Pro tutorial is a continuation of the previous Conditions in Bricks Builder tutorial. We are going to keep updating…
Categories:
Pro
Conditional Rendering Based On Meta Box Group’s Sub Field

Conditional Rendering Based On Meta Box Group’s Sub Field

This Pro tutorial shows how we can output an element on a single post pages only if a specified sub-field (custom field created using Meta…