Rendering query-loop enabled posts depending on the value of each post’s custom field value is tricky because by default, the custom field plugins’ functions or builder-functionality for fetching the custom field pulls the value of meta for the post (Post/Page/CPT/template etc.) in which the query loop element is present, not the individual posts in the loop.
In a previous Conditional Rendering Based on Current Date and Time in Bricks when Using Meta Box tutorial we showed how a non query loop element can be output based on a Radio field in a Settings page.
In this Pro tutorial we use a similar type of field, a Select field with the same choices and see how the posts can be output depending on the selected choice for each post.
Field group created using Meta Box for post post type:

A specific post being edited:

The above post should be output only if the current time is between 9 am and 6 pm on a weekday.
Step 1
Set up your query loop the usual way.

Step 2
Add the following in child theme‘s functions.php or a code snippets plugin:
// Avoid Undefined Function Error when Meta Box is not active.
if ( ! function_exists( 'rwmb_meta' ) ) {
function rwmb_meta( $key, $args = '', $post_id = null ) {
return false;
}
}
add_filter( 'bricks/element/render', function( $render, $element ) {
if ( $element->id !== 'rqkapg' ) {
return $render;
}
$value = rwmb_meta( 'operating_hours', '', BricksQuery::get_loop_object_id() );
switch ( $value ) {
// 24/7
case 'anytime':
$render = true;
break;
// Monday To Friday 9 am - 6 pm
case 'callcenterhours':
// set $render to true if the current time is between 9am and 6pm EST on a weekday (Monday to Friday) else false
$render = wp_date( 'N' ) < 6 && wp_date( 'G' ) >= 9 && wp_date( 'G' ) < 18;
break;
// Monday To Friday anytime
case 'montofri':
$render = wp_date( 'N' ) < 6;
break;
default:
$render = true;
break;
}
return $render;
}, 10, 2 );
where rqkapg is the Bricks ID of the query loop item.
The key is
rwmb_meta( 'operating_hours', '', BricksQuery::get_loop_object_id() );
Whether it is rwmb_meta() when using Meta Box or get_field() when using ACF or the native get_post_meta() we have the possibility to specify the post ID as an function argument.
The ID of the post in the loop can be obtained from
BricksQuery::get_loop_object_id()
If you use ACF, it’d be
get_field( 'operating_hours', BricksQuery::get_loop_object_id() );