Opens in a new tab
16th Jul '24
/
0 comments

JetEngine Checkbox Condition in Bricks

This tutorial shows how elements in Bricks can be conditionally output depending on the selected option from a JetEngine checkbox custom field.

Consider a meta box titled “Post Fields” enabled for Posts having a “Features” meta box that is of type Checkbox with these possible options: Room, Wifi, Air Condition.

For Post A: Room is ticked.

For Post B: Wifi is ticked.

For Post C: Air Condition is ticked.

In the single Post template, we want a Block element to be output only if the current post has Room feature ticked.

Another Block element should be output only if the post has Wifi feature ticked.

Another Block element should be output only if the post has Air Condition feature ticked.

Step 1

Register the meta box.

Step 2

Edit your posts and tick the feature(s) it should have.

Step 3

Register a custom function that takes the feature string as its input and returns true if the current post’s feature field value has it set to ‘true’ or false if otherwise.

This is how the values are stored in a JetEngine Checkbox field:

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

<?php 

function bl_is_feature_enabled( string $feature ): bool {
    // Get the features array from post meta
    $features = get_post_meta( get_the_ID(), 'features', true );

    // Check if the feature exists in the array and if it is set to true
    if ( isset( $features[$feature] ) && $features[$feature] === 'true' ) {
        return true;
    }

    return false;
}

Step 4

Whitelist the bl_is_feature_enabled function.

Ex.:

<?php 

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

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

More info on whitelisting can be found here.

Step 5

Edit your single post template.

Create the three Blocks and apply dynamic data condition on each.

{echo:bl_is_feature_enabled(Room)}

Similarly, apply conditions on the other two blocks by passing the feature value in the parenthesis as the argument.

If the argument has a space, wrap it in single quotes like this:

{echo:bl_is_feature_enabled('Air Condition')}

Get access to all 633 Bricks code tutorials with BricksLabs Pro

Leave the first comment

 

Related Tutorials..

Create A Customizable AJAX Add To Cart Button In Bricks Builder

Create A Customizable AJAX Add To Cart Button In Bricks Builder

In Bricks, you can simply create an Add To Cart button from a dynamic data / function {woo_add_to_cart}. This button supports AJAX as well if…
Pro
Conditional Related Posts in Bricks

Conditional Related Posts in Bricks

How to output a section only if there is at least 1 related post for the current post being viewed.
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…
Check if a given category has at least one post

Check if a given category has at least one post

There could be situations where you want to check if a given category (by its slug) has at least 1 post assigned to that category.…
Categories:
Pro
Checking ‘PublishPress Future’ plugin’s Future Action enabled posts

Checking ‘PublishPress Future’ plugin’s Future Action enabled posts

PublishPress Future is a handy plugin for scheduling actions like unpublishing or deleting posts (of any post type) at a specified date and time in…
Categories:
Condition for Checking Current Post Category in Bricks

Condition for Checking Current Post Category in Bricks

How we conditionally display an element based on the current post's categories.
Categories:
Pro
Conditional Section when Post has a Featured Image in Bricks

Conditional Section when Post has a Featured Image in Bricks

This Pro tutorial provides the steps to output a Section in Bricks on single posts (of any post type) only if the post has a…
Categories:
Conditionally Hide a Section on a Specific Taxonomy’s Term Archives in Bricks

Conditionally Hide a Section on a Specific Taxonomy’s Term Archives in Bricks

A user asked: I have a CTA in the footer of my site, which I have custom fields on various templates, etc to populate. I…
Categories: