---
title: Podcasts Overview
menu_group: Podcasts
menu_order: 10
tab: Podcasts
tab_order: 10
requires_podcasts: true
summary: Enable Podcast Shows and Episodes, public pages, RSS feeds, and REST API output.
---

# Podcasts Overview

MediaBlaster podcasts use two custom post types:

- **Podcast Shows** (`podcast_show`) — a show container (e.g. *Unexplained History*)
- **Podcast Episodes** (`podcast_episode`) — individual episodes linked to one show

## Enable Podcasts

**MediaBlaster → General Settings → Enable Podcasts**

This master toggle registers both post types, metadata, RSS, public templates, and REST endpoints. Save and reload wp-admin after enabling.

All other podcast options live on the **[Podcast Settings](podcast-settings.md)** tab (public pages, RSS bases, premium teasers when subscriptions are enabled).

## Public pages

When **Enable Podcast Public Pages** is on (Podcast Settings tab):

- Show URL: `/podcasts/{show-slug}/` (base is customizable)
- Episode URL: `/podcasts/{show-slug}/{episode-slug}/`

Disable public pages for headless/API-only setups. Admin and REST remain available.

## RSS feeds

Per-show RSS feeds require:

1. **Enable Podcasts** (General Settings)
2. **Enable Podcast RSS Feeds** ([Podcast Settings](podcast-settings.md))
3. **RSS Enabled for This Show** on the show edit screen
4. Each included episode must have a **valid media enclosure** (uploaded audio/video or direct file URL)

Default feed URL: `/podcast-feed/{show-slug}/`

Only **published, free** episodes with valid enclosures appear as `<item>` entries. Premium episodes are excluded.

If the feed loads but lists no episodes, open the episode and add **Episode Media** — see [Podcast RSS](podcast-rss.md#troubleshooting-empty-feeds).

## Premium episodes

When subscriptions are enabled (`WPST_SUBSCRIPTIONS_ENABLED` in `wp-config.php`), episodes can be marked **Premium** and **Podcast Settings** exposes teaser options.

Premium episodes:

- Are excluded from public RSS
- Do not expose media URLs on public pages or unauthenticated REST
- Can appear as locked teaser cards when **Show Premium Episode Teasers** is enabled

Without subscriptions enabled, the Access Level field remains on episodes for future use; premium-specific Podcast Settings are hidden.

## REST API

Canonical podcast API: `/wp-json/mediablaster/v3/podcasts` — see [REST API — Podcasts](rest-api-podcasts.md).

## v1 exclusions

- No private/tokenized podcast feeds
- No subscription paywall enforcement on RSS yet (premium episodes are excluded, not gated in-feed)
- No import tools yet
- No Media RSS namespace yet
- No transcript RSS namespace yet
- No cloud uploader yet

Public episode pages and embeds use the [Podcast Audio Player](audio-player.md) (shortcode, block, Elementor, and default template).

See also: [Podcast Settings](podcast-settings.md), [Podcast Shows](podcast-shows.md), [Podcast Episodes](podcast-episodes.md), [Podcast RSS](podcast-rss.md), [Podcast Audio Player](audio-player.md).
