27th Mar '25
/
0 comments

Related Episodes Grouped by Episode Chapters on Single Podcasts in Bricks when using JetEngine

A user asks:

How to Display Related Episodes Grouped by Chapters on a Podcast Page in Bricks?

Hi everyone,

I have two post types created with JetEngine: Podcasts and Episodes. Each episode is related to a podcast via a JetEngine relationship and has a taxonomy called Chapters.

On the Podcast single page, I want to display its related episodes, but they should be grouped by Chapters (each chapter as a heading with its related episodes listed below).

What’s the best way to achieve this in Bricks Builder? Should I use Query Loops with nested queries, or is there a better approach?

Thanks for your help!

Let's summarize.

CPTs:

Podcasts

EpisodesTaxonomy: Chapters

Relation: Podcasts to Episodes (one to many)

Objective: When viewing a single podcast post, instead of showing all the related episodes lumped together show them grouped by the episode chapters.

Consider this sample data:

Podcast 1 → nonePodcast 2 → Episode 1Podcast 3 → Episodes 2 and 3

Episode CPT taxonomy: chapterChapter 1: Episodes 1 and 3Chapter 2: Episodes 2 and 3Chapter 3: -

Before:

After:

This Pro tutorial provides the steps to add custom code

  • in the outer terms query loop to ensure that only the chapters that have at least 1 episode are output
  • in the inner posts query loop to output only the episodes that are related to the current podcast being viewed and assigned to the current chapter being looped through
  • for adding a dynamic condition that ensures that the entire section gets output only if there is at least one related episode.

Step 1

Create your CPTs.

Note that by default JetEngine sets the post type slugs as episodes and podcasts. WordPress uses singular for post type names. Ex.: post, page. Therefore, I personally prefer having CPT names as singular: episode and podcast.

Note: If you have already created the post types with plural names, update accordingly in the code snippets below.

Step 2

Create the relation.

Step 3

Create the chapter taxonomy for episodes.

Under Advanced Settings you may want to enable Hierarchical so chapters behave like categories and not tags.

Note: If you have already created the taxonomy with a plural name, update accordingly in the code snippets below.

Step 4

Add some sample chapters.

Add some sample episode and podcast posts.

Select related item(s) as applicable.

Ex.:

Podcast 3:

Step 5

Create a single template named say, "Podcast" and edit it with Bricks.

Add a template condition to make it apply to all single podcast posts.

When done the structure should be like this:

Add a Section having Post Title and Post Content elements.

Add another Section and inside its Container, add a "Related Episodes" h2 heading.

Add a Container and inside it a Block.

Rename the Block to say, "Chapters QL Block".

Enable query loop, set Type to Terms, enable PHP editor and paste:

This is a BricksLabs Pro tutorial.

For full access login below or create your BricksLabs Pro account

Get access to all 632 Bricks code tutorials with BricksLabs Pro

Related Tutorials..

Pro
Post-specific ACF Repeater Galleries as Sliders in Bricks

Post-specific ACF Repeater Galleries as Sliders in Bricks

How to output ACF Repeater field rows with the images of the Gallery-type sub field as a slider.
Bricks Templates Query Loop

Bricks Templates Query Loop

How display Bricks Templates with saved screenshots in a query loop.
Categories:
Pro
Masonry for Query Loop in Bricks

Masonry for Query Loop in Bricks

If you are looking to implement masonry with a 'view more' button i.e., click-type of infinite scroll follow this tutorial instead. Updated on 15 Mar…
Categories:
Pro
Adding active class to the current term/post in a Bricks query loop on Term archives/single posts

Adding active class to the current term/post in a Bricks query loop on Term archives/single posts

Updated on 29 Feb 2024 In the Sibling Terms Bricks Query Loop tutorial, a member asked: How can I set the class "active" to the…
Categories:
Pro
Dynamic Posts Lightbox in Bricks using GLightbox

Dynamic Posts Lightbox in Bricks using GLightbox

Steps to set create a dynamic lightbox with content from the post inside of the query loop.
Categories:
How to show data of a post whose ID is the value of a URL parameter in Bricks

How to show data of a post whose ID is the value of a URL parameter in Bricks

In the Bricks Facebook group, a user asks: Hey Everyone,I am trying to create the following:1- I have a Custom Post Type2- I have a…
Categories: