The Movies & Shows Module in Inspiro Premium allows you to create a complete TV shows or movies catalog website. This module introduces three custom post types: Shows, Seasons, and Episodes, with relationship fields that link them together hierarchically.
Tip: The labels for Shows, Seasons, and Episodes can be customized in Theme Options, so you can rename them to Courses, Modules, and Lessons, or any terminology that fits your content.
Requirements
The Movies & Shows Module requires the Advanced Custom Fields (ACF) plugin (free version) for the relationship functionality between Episodes, Seasons, and Shows.
Important: Without ACF installed and activated, you won’t be able to assign Episodes to Seasons or Seasons to Shows. The custom post types will still work, but without the hierarchical relationships.
Enabling the Module
There are two ways to enable the Movies & Shows Module:
Option 1: Import the Movies Demo
The easiest way to get started is to import the Movies & TV Shows demo from the Demo Importer:
Go to Demo Importer
Select the Movies & TV Shows demo
Click Import Demo Content
The demo import will automatically:
Enable the Movies Module
Register the Shows, Seasons, and Episodes post types
Import sample shows, seasons, and episodes with proper relationships
Create the Shows page with the catalog shortcode
Set up ACF relationship fields
Option 2: Manual Activation
To manually enable the module without importing the demo:
Go to Theme Options → Movies & Shows
Check the Enable Movies Module option
Click Save Changes
Once enabled, you’ll see three new menu items in your WordPress admin: Shows, Seasons, and Episodes.
Creating the Shows Page
The Shows page displays a grid of all your shows. After enabling the module, you’ll see an admin notice prompting you to create this page.
Automatic Creation
Click the Create Shows Page button in the admin notice. This will create a new page with the [inspiro_shows] shortcode already inserted.
Manual Creation
Create a new Page in WordPress
Add the shortcode: [inspiro_shows]
Publish the page
Go to Theme Options → Movies & Shows → Shows Page
Select your newly created page from the dropdown
Save Changes
Note: The Shows page URL becomes the base slug for individual show URLs. For example, if your Shows page is at /series/, individual shows will be at /series/show-name/.
Creating Content
Content should be created in a specific order to establish proper relationships:
Step 1: Create Shows
Go to Shows → Add New
Enter the show title (e.g., “Breaking Bad”)
Add a description in the content area
Set a Featured Image (show poster/cover)
Publish the show
Step 2: Create Seasons
Go to Seasons → Add New
Enter the season title (e.g., “Season 1”)
In the Parent Show field (ACF relationship field), search for and select the show this season belongs to
Add a description and featured image if desired
Publish the season
Step 3: Create Episodes
Go to Episodes → Add New
Enter the episode title (e.g., “Pilot”)
In the Parent Season field, select which season this episode belongs to
Optionally, also select the Parent Show for easier filtering
Add the episode description, featured image, and any other content
Publish the episode
Tip: Use the Order field in the Page Attributes meta box to control the display order of episodes within a season.
Display Options
Single Show Page
When viewing a single show, the template automatically displays:
Show title and featured image
Show description/content
List of all seasons belonging to that show
Breadcrumb navigation back to the Shows page
Single Season Page
When viewing a single season, the template displays:
Season title and featured image
Season description
Grid of all episodes in that season
Breadcrumb navigation (Shows → Show Name → Season)
Single Episode Page
When viewing a single episode, the template displays:
Episode title and featured image
Episode content
Episode number (if enabled in Theme Options)
Full breadcrumb navigation (Shows → Show Name → Season → Episode)
Using Query Loop Block
Inspiro Premium adds two custom filters to the WordPress Query Loop block, allowing you to display episodes filtered by Show or Season anywhere on your site.
Adding a Query Loop with Episode Filters
Add a Query Loop block to your page
In the block settings sidebar, set Post Type to Episodes
You’ll see two new dropdown filters:
Filter by Show – Select a specific show to display only its episodes
Filter by Season – Select a specific season to display only its episodes
Choose your desired template layout for the episodes
Example Use Cases
Homepage Featured Episodes: Add a Query Loop showing the latest 3 episodes from a featured show
Season Landing Pages: Create custom pages for each season with a Query Loop filtered by that season
Sidebar Widget: Display recent episodes from the currently viewed show
Category Pages: Show episodes by genre using a combination of categories and Query Loop
Theme Options
Navigate to Theme Options → Movies & Shows to access all module settings:
Shows Page
Select which page serves as your main shows catalog. This page should contain the [inspiro_shows] shortcode.
Custom Labels
Rename the post types to match your content:
Shows Label: Default is “Shows” – change to “Series”, “Movies”, “Courses”, etc.
Seasons Label: Default is “Seasons” – change to “Parts”, “Modules”, “Volumes”, etc.
Episodes Label: Default is “Episodes” – change to “Chapters”, “Lessons”, “Parts”, etc.
Permalinks
Customize the URL slugs for Seasons and Episodes:
Seasons Slug: Default is seasons
Episodes Slug: Default is episodes
Important: After changing permalink slugs, go to Settings → Permalinks and click Save Changes to flush the rewrite rules.
Display Options
Show Episode Numbers: Enable to display episode numbers (E01, E02, etc.) on episode cards and single pages
Shortcode Reference
[inspiro_shows]
Displays a grid of all published shows. This shortcode is typically used on the main Shows page.
Example:
[inspiro_shows]
The shortcode displays shows in a responsive grid with:
Show thumbnail/poster
Show title
Link to the individual show page
Troubleshooting
Custom Post Types Not Appearing
If Shows, Seasons, and Episodes menus don’t appear in your admin:
Verify the Movies Module is enabled in Theme Options
Go to Settings → Permalinks and click Save Changes to flush rewrite rules
Clear any caching plugins
Relationship Fields Not Showing
If you don’t see the Parent Show or Parent Season fields when editing:
Ensure the Advanced Custom Fields (ACF) plugin is installed and activated
Check that you’re editing the correct post type (Seasons need Parent Show, Episodes need Parent Season)
Episodes Not Linking to Correct Season
If imported episodes aren’t properly linked:
This can happen if the demo was imported before ACF was activated
Edit each episode and manually select the Parent Season in the ACF relationship field
Alternatively, re-import the demo with ACF already active
Shows Page Returns 404
Go to Settings → Permalinks
Click Save Changes (no need to change anything)
This flushes the rewrite rules and should resolve the 404 error
Last updated on January 18, 2026
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.