10th Nov '22
/
5 comments

Meta Box Relationship in Bricks

Updated on 19 Mar 2024

In BricksLabs' Facebook group a user asks:

I have a Product (Metabox CPT) that is connected to a Creator (Metabox CPT) via Relationships.

In the Product single page, I want to list 'Other products from the same Creator' using a loop item.

How do I query this?

From what I see, this is not possible to do using the built-in controls of the Query interface in Bricks.

We need to:

  • get connected creators from the current product
  • get products connected to the above creators
  • remove the current product from the above products
  • modify the query to show only the above products

With post type A to post type B Meta Box relationship, this Pro tutorial provides the steps to use Meta Box' API for querying items of post type B connected to the current item of post type A (forward query), then doing a backward query to get all items of post type A connected to the matching post type B items and removing any occurrences of current post type A items to finally pass them to Bricks' bricks/posts/query_vars filter.

In the Meta Box documentation, the example provided is Posts connected to Pages.

Per the original question, the relationship is: Products connected to Creators.

In the example below, we are going to do Events connected to Testimonials (I happen to have entries for these already present in my local test site and just went with this setup).

Here is the notes I put together of the problem statement:

Problem Statement

Relationship title: Event <-> Testimonial

Relationship ID: event-testimonial

Event 1 (2431): Frances Harper (2811)

Event 2 (2432): James Colley (2809) and Alicia Burke (2807)

Event 3 (4263): Frances Harper (2811) and James Colley (2809)

Event 4 (4264): Alicia Burke (2807)

Numbers in parentheses indicate the item ID.

Objective: In the Event single page, list other events having the same testimonial.

When viewing Event 3 which has testimonials by Frances Harper and James Colley, for example, show all other events that have testimonials by either of them i.e., Event 1 and Event 2.

We will also get the count of the matching events and ensure that the Section in which we have the Posts element (which could also be a Query Loop instead) only outputs if there is at least 1 event to be shown.

Step 1

Install and activate Meta Box and Meta Box AIO.

Create your two post types.

Go to Meta Box → Relationships and create one.

Step 2

Create a few testimonial entries:

and some event entries:

Step 3

Add a new Bricks template named "Single Event" of the type "Single" and edit it with Bricks.

Click the Settings (gear) icon → TEMPLATE SETTINGS → CONDITIONS and add a Post type = Events.

Add a Section and inside its Container, Post Title and Post Content elements.

Add another Section and inside its Container, a "Related Events" Heading.

Set up a Query Loop.

Click the Query loop icon and enable the PHP query editor.

Paste:

This is a BricksLabs Pro tutorial.

For full access login below or create your BricksLabs Pro account

Get access to all 610 Bricks code tutorials with BricksLabs Pro

Related Tutorials..

Color Custom Field as Section Background Color on Category/Term Archives in Bricks

Color Custom Field as Section Background Color on Category/Term Archives in Bricks

How to use a color from a taxonomy term custom field for as the hero section background color on archive pages.
Categories:
Tags:
Pro
Meta Box Settings Fields in Bricks

Meta Box Settings Fields in Bricks

This Pro tutorial is the equivalent of our earlier ACF Options Fields in Bricks article but when using Meta Box. While retrieving the values of…
Categories:
Tags:
How to apply a custom query var to multiple query loops in Bricks

How to apply a custom query var to multiple query loops in Bricks

In this tutorial, we'll learn how to apply a PHP filter to modify the query var of multiple query loops in a single function Introduction…
Categories:
Pro
Custom Conditions in Bricks Builder

Custom Conditions in Bricks Builder

Updated on 22 Jun 2022 This Pro tutorial is a continuation of the previous Conditions in Bricks Builder tutorial. We are going to keep updating…
Categories:
Pro
Meta Box Group’s Number Sub Field Values Sum

Meta Box Group’s Number Sub Field Values Sum

In the Bricks Facebook group a user asked: We can define a custom function that takes a Meta Box group ID, the sub field ID…
Categories:
Tags:
Pro
Conditional Output Based on ACF Date Field in Bricks

Conditional Output Based on ACF Date Field in Bricks

Updated on 1 Aug 2024 Looking to have a Section or other elements in Bricks rendered on the frontend only if today's date is before…
Categories:
Pro
How to Insert Element(s) Between Query Loop Posts in Bricks

How to Insert Element(s) Between Query Loop Posts in Bricks

Update on 16 Aug 2023: Follow this tutorial instead. This Pro tutorial shows how we can insert a Div (or any custom HTML) after nth…
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: