If you are working on a Bricks site with specific requirements, chances are you need to grab the ID and/or object of the current item (post/term/user) in the loop when using a Query Loop.
We used the following in several tutorials already on the site but just posting these here as a separate topic for easy reference.
Loop Item ID
\Bricks\Query::get_loop_object_id()
To show it as a dynamic data tag in a text element, register a function:
function bl_get_loop_item_id() {
return \Bricks\Query::get_loop_object_id();
}
and
{echo:bl_get_loop_item_id}
Loop Item Object
\Bricks\Query::get_loop_object()
To see all the properties of the object:
print( '<pre>' . print_r( \Bricks\Query::get_loop_object(), true ) . '</pre>' );
Reference
https://itchycode.com/bricks-builder-useful-functions-and-tips/
3 comments
Peter
Hello, Sridhar,
Thank you kindly for your code, it has worked perfectly.
Best regards,
Lukas @ webarch.lt
Kyrill
I'm calling the following function in a custom query loop to get a post's media index but for some reason it stops returning the object after 80 objects, any idea why?
function get_media_index(){
$img = \Bricks\Query::get_loop_object();
if($img) return $img->menu_order;
}
Sridhar Katakam
Sorry, no.
You might want to contact Bricks' support.