Indirect Meta Box Relationship in Bricks

This Pro tutorial shows how to modify a Bricks' query loop parameters to only show the posts of a CPT that is indirectly related to the current single CPT item when using Meta Box.

Consider this scenario:

Custom Post Types:

  • Members
  • Orders
  • Trainings

Requirement: On a single member page, show all the related posts of training. Note that there is no direct relationship between member CPT and training CPT.

Relationships:

  • Members and Orders
  • Orders and Trainings

Sample posts:

  • Training 1 Connected From Order 2.
  • Training 2 Connected From Order 1 and 2.
  • Training 3 Connected From Order 1.
  • Member 1 Connected To Order 1.
  • Member 2 Connected To Order 2.

Objective:
When viewing Member 1, show trainings 2 and 3. This is because Member 1 is connected to Order 1 and this order is connected to Training 2 and Training 3.

Screenshots:

Relationship: Orders and Trainings

Relationship: Members and Orders

We are also going to ensure that the Section in which the indirectly related CPT items are output gets rendered only if there is at least 1 such published CPT item.

Step 1

Create a Bricks template named say "Single Member" of type "Single".

Edit it with Bricks.

Add a Template setting condition for applying the template to Members CPT.

Add a Section having Post Title and Post Content.

Add another Section having a "Related Training" Heading. We are going to dynamically add "s" at the end of this heading text if there's more than one published indirectly-related training for the current member.

Add a Container having a Block.

Enable Query Loop on the Block. Select Trainings CPT.

Add a Post Title inside the Block.

At this stage, all the training CPT items will be output.

Step 2

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

This is a BricksLabs Pro tutorial.

For full access login below or create your BricksLabs Pro account

Get access to all 537 Bricks code tutorials with BricksLabs Pro

Related Tutorials..

Pro
Conditionally outputting an element in a Query Loop based on date-type custom field

Conditionally outputting an element in a Query Loop based on date-type custom field

This Pro tutorial shows how to output an element in a Bricks' query loop only if the value of a date-type of custom field for…
Categories:
Pro
Meta Box Group Subfield Text’s Slug as Query Loop Item ID in Bricks

Meta Box Group Subfield Text’s Slug as Query Loop Item ID in Bricks

In the BricksLabs Facebook group a user asks: I have a metaBox custom field called 'section_title' inside a clonable metabox group called 'about_section' How can…
Categories:
Tags:
Pro
Meta Box/ACF Images Staggered Grid Gallery in Bricks

Meta Box/ACF Images Staggered Grid Gallery in Bricks

Showing images from two Gallery-type of ACF or Image Advanced-type of Meta Box fields in a staggered grid layout.
Pro
MB Favorite Posts in Bricks

MB Favorite Posts in Bricks

This tutorial explores using MB Favorite Posts in Bricks, including outputting the list of favorites via a query loop.
Categories:
Meta Box Category Colors in Single Posts

Meta Box Category Colors in Single Posts

Looking to use Meta Box Color Picker fields' values in a single post Bricks template based on the post category? This tutorial shows how. Note:…
Categories:
Tags:
Pro
Meta Box Checkbox List Query Type in Bricks

Meta Box Checkbox List Query Type in Bricks

This Pro tutorial provides the steps to add a new query type in Bricks builder for displaying the values of a Checkbox List type of…
Categories: