Hi Kelvin
You'll have to forgive me, the language of your site makes it difficult for me to recognise what is being output, and your CPTs of "program" and "host" aren't very meaningful to me, so if you don't mind I'm going to walk you through step by step what I have just done to achieve something similar.
In my example I'm going to have custom post types of Comedians and Venues. These are going to be connected by the intermediate CPT 'gigs', so that I can model something like "Louis C.K. has a gig on June 24 at the London Comedy Club".
"Comedians" and "Venues" will both be parents of my intermediate "gigs", and I will need to create a "gig" post for every appearance of a comedian at a venue on a given date. If a comedian appears at the same venue more than once, I will create separate gigs for each appearance.
So, I define my CPTs of Comedians, Venues, and Gigs, and then I set Gigs to be child posts of both Comedians and Venues.
To make this more realistic, I'm going to add a custom date field to my gigs to record when they occur, so I create a custom post field group and add a date field then assign this group to my gigs CPT.
That's my basic set-up, now I must enter some actual data.
I add some comedians, and I add some venues.
Now I add some actual gigs, setting my custom field date and indicating which Comedian and which Venue are parents of this gig. (Note, I can only add the related comedian and venue after initially saving the gig post. See the attached screenshot.)
I have my data, now I want to display it.
Let's say I when I visit a venue page I want to shows all the comedians performing there.
First, to customise my venue page I create a content template which I assign to the venue CPT single post. I'll come back to this.
Next, I create my view.
- I choose to display posts of type 'gigs'.
- I want to see gigs which belong to the venue we are looking at, so I add a filter to "Select posts that are children of the Post where this View is shown". (This means the loop we are coming from, i.e. the venue page, not the loop we are creating with this view query.)
- I add what I want to output in the loop, using the id attribute to refer to fields of a parent post.
For my simple test I am displaying the comedian's name using [wpv-post-title id="$comedian"] and the date (which is a custom field on the current gig in this loop and so doesn't need the id attribute), so it looks like:
<wpv-loop>
<h2>[wpv-post-title id="$comedian]</h2>
<p>[types field='gig-date' style='text' format='F j, Y'][/types]</p>
</wpv-loop>
Now to display the View. I go back to my content template for venues and add the shortcode for the view I just created.
If I go to a page for a venue I should now see listed who will be performing when, as per the second screenshot.
Hopefully, if you follow along you will be able to get this working with your own version.
Let me know if you are still having difficulties.