2nd Jul '25
/
5 comments

Mixed Post Types Grid in Bricks

A user asks:

Hey everyone — I’m building a grid in Bricks loop (3 columns) and I want to inject random quote cards in alternating positions across rows (3rd, 2nd, 1st, etc). (I’m thinking about a quote CPT)

I’ll be using the bricks query filters to handle this.

I know I could build the whole thing custom too, but I’m aiming to achieve the layout in the screenshot I’ll share using the maximum of Bricks builder.

Curious how others would approach it, please let me know your thoughts

Thank you

If items of both the post types are to show the same type of data, for example, post title, published date and excerpt we could set up data attribute or a dynamic class on the query loop and add CSS order property to manually arrange the quote posts in each row. This is especially true when the number of items in the grid is fixed - say 9.

For maximum flexibility though, when the number of posts could be 9 or any other number, it is better to have two different conditional blocks - each having the elements needed for that post type and write PHP to set post__in query param to the items in the desired order:

post, post, quotepost, quote, postquote, post, post

We shall set up custom fields for icon, background color and text color for the quote posts, pull their values and show/apply to the quote posts.

This Pro tutorial provides the steps to set up a mixed post types grid in Bricks, where you can display both standard posts and custom quote cards in alternating positions using custom PHP query, custom fields, and conditional blocks for maximum layout flexibility.

Step 1

Create quote CPT using your favorite plugin.

We are using ACF in this tutorial.

Create custom fields.

Add quote posts.

Publish more than 3 since you want these to be random.

Step 2

Whitelist the get_post_type function. We will be using this to conditionally render elements depending on the post type.

Ex.:

<?php add_filter( 'bricks/code/echo_function_names', function() { return [ 'get_post_type' ]; } );

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

More info on whitelisting can be found here.

Step 3

Edit a Page or a Template with Bricks.

Copy the JSON from the link below and paste to import the fully-built Section from our dev site.

Note: ACSS classes and variables are used.

This is a BricksLabs Pro tutorial.

For full access login below or create your BricksLabs Pro account

Get access to all 627 Bricks code tutorials with BricksLabs Pro

Related Tutorials..

Pro
Search Results Grouped by Post Types in Bricks

Search Results Grouped by Post Types in Bricks

Updated on 08 Oct 2024 This Pro tutorial provides the steps to arrange the search results by specified post types in a Bricks site. We…
Pro
Bricks Query Loop – How to Insert Elements After Every Nth Post

Bricks Query Loop – How to Insert Elements After Every Nth Post

Update: Follow this tutorial instead. This Pro tutorial provides the steps to output element(s) in a Bricks' query loop after every nth post. Use case:…
Categories:
Pro
Events grouped by months within years based on event date custom field value

Events grouped by months within years based on event date custom field value

How to output events grouped by years and months using three nested query loops in Bricks.
Categories:
Pro
Dynamic Remaining Posts Count for Load more Button in Bricks

Dynamic Remaining Posts Count for Load more Button in Bricks

A user asked in the Bricks Facebook group: I have a loop of a CPT, showing 10 in a total of 16 posts and a…
Pro
How to Insert an Ad or an Element Between Posts in Bricks

How to Insert an Ad or an Element Between Posts in Bricks

How to insert an image or any Bricks element between posts output by a query loop.
Categories:
Tags:
Bricks Templates Query Loop

Bricks Templates Query Loop

How display Bricks Templates with saved screenshots in a query loop.
Categories:
Pro
WordPress Posts using WP REST API in Bricks

WordPress Posts using WP REST API in Bricks

The steps to display posts from any WordPress site that has WP REST API enabled in Bricks builder using a custom query type.
Categories: