Skip to main content

Creating Episodes

The Episode List

Go to Benecaster → Episodes to see all episodes for the currently selected show. The list shows each episode’s artwork thumbnail, title, metadata line (episode number, type, publish date), status badge (Draft / Published / Scheduled), and access pills indicating which tiers can access it.

Access pills: The colored pills on each episode row summarize tier access at a glance.

Pill Meaning
All tiers Episode is accessible to all configured tiers
Paid only Episode is restricted to paid tiers
Free in N days Free tier gains access on a future date
Live At least one tier has active access
Upcoming No tiers have access yet (scheduled)

Inline row actions: Hover over an episode row to reveal: Edit, Copy audio URL, Preview, and a More⋯ menu (additional actions including Duplicate and Move to Trash).

Creating an Episode

Click + New in the episode list toolbar, or go to Benecaster → Episodes → Create Episode. The episode editor opens with a two-column layout.

Left Column — Content

Title
The episode title. Appears on the episode page, in podcast apps, and in the RSS feed.

Podcatcher description
Plain text shown in podcast apps. Keep this under 500 characters — many apps truncate longer descriptions in episode listings. A character counter updates as you type. Maps to <description> and <itunes:summary> in RSS.

Full page content
A rich text editor for the episode’s show notes. Headings, formatted lists, links and blockquotes work here, and three keyboard triggers pull in real content from your show — @ for a link to another episode, # for a timestamp into the audio, and / for a block such as a player or a supporter thank-you. Images are not supported.

This content is shown on the episode page on your website, and it is also delivered to podcast apps in the feed’s content:encoded field. Shortcodes are not resolved on the way into the feed, so anything you insert with @, # or / reaches an app as raw shortcode text — fill in Podcatcher Description above so your app-facing summary is prose you controlled.

See The Rich Text Editor for the full set of controls and triggers.

Right Column — Sidebar Tabs

Details Tab

Field Description
Show Which show this episode belongs to.
Episode number Auto-increments from the last numbered episode on first publish. Enter a number manually to override; if a number is already set before publish, auto-assignment is skipped.
Season Shown only when seasons are enabled for the show. Enable via Shows → Settings → Feeds → Seasons (or from the show’s Details tab → Show Flags).
Episode type Selects the episode’s type from the types configured for this show. Hidden when the show has only one type configured. See Episode Types.
Explicit A three-way choice: Inherit from show (the default), Yes, or No. Inherit uses whatever the show is set to. Yes marks this one episode explicit on an otherwise clean show. No marks this one episode clean on an explicit show — useful for a listener-safe recap or a trailer sitting inside an explicit series. The choice applies to this episode only and does not change the show’s setting.
Author Override the show-level author for this episode.

Where the Explicit setting shows up. Once set, it is visible in three places without you doing anything:

  • A badge on the front end — on the episode page, on archive cards, in [benecaster_episodes] lists, and in the [benecaster_player] title strip. Explicit episodes carry it; clean episodes show nothing at all, which is deliberate — a badge on every episode tells a listener nothing. Themes can restyle it, reword it, or place it themselves with [benecaster_explicit_badge].
  • A column on the Episodes list — sortable and filterable, so you can audit a back catalogue at a glance instead of opening episodes one at a time. It shows the value that actually applies, and marks episodes carrying their own override so you can tell “explicit because the show is” from “explicit because someone set it here”.
  • Quick Edit — change the setting straight from the list without loading the editor. Useful when a review turns up a handful of episodes to correct.

How the value is worked out. The episode’s own setting wins whenever it is Yes or No. Only Inherit from show defers to the show’s Explicit setting. That resolution happens once, in one place, and everything downstream uses the result — so the badge, the Episodes column, the RSS feed, and the structured data on the episode page can never disagree with each other.

Explicit — for developers. The episode override is stored as a three-value string, not a boolean: 'inherit' (or absent), 'yes', or 'no'. Read the resolved value with EpisodeMeta::get_effective_explicit() rather than reading the meta yourself; write with EpisodeMeta::set_explicit(), which coerces anything unrecognised to 'inherit'. The badge itself is rendered by ExplicitBadgeRenderer and has three filters — benecaster_explicit_badge_mode, benecaster_explicit_badge_label, and benecaster_explicit_badge_html — so the wording and markup are changeable without a template override. Values stored before the enum landed still read correctly — a legacy '1' resolves to 'yes', and a legacy empty or '0' resolves to 'inherit'. See the recipe Resolve or override an episode’s Explicit flag.

Categories
A checklist of episode categories appears at the bottom of the Details tab. Check any categories that apply. To create a new category, click Add new category, type the name, and press Enter or Add. See Episode Categories.

Access Tab

Controls when each subscriber tier can access this episode.

Web Publish Date
The date and time when this episode’s page appears on your website. Separate from the podcast feed availability dates — a future web publish date keeps the episode page hidden until the date passes.

Tier Availability
By default, episodes inherit the show’s availability schedule. The Access tab shows a 30-day-before to 90-day-after timeline with a marker for each tier’s access date.

Click Override dates for this episode to set custom availability dates. Each tier gets a date picker with a Clear button to remove the date for that tier. Dates use browser local time. Click Use show defaults to revert to the show’s schedule.

See Setting Tier Availability for the full explanation of how tier access dates work.

Buy-up Access
Below the tier timeline, a multi-select lists the active buy-ups on this show. Ticking one means holders of that buy-up also get this episode — on top of whichever tiers the schedule above already gives it to. It does not take the episode away from anyone.

If the show has any Buy-up Defaults set, a new episode arrives with those buy-ups already ticked here — the same way it can arrive with a default tier visibility preset. Untick or add to the pre-filled selection before saving if this episode should differ from the show’s default.

Subscribers whose tier already entitles them keep the episode whether or not they hold the buy-up. Multiple selections use OR logic: holding any one of them is enough.

To sell an episode exclusively, leave every tier unscheduled and tick the buy-up. With no tier carrying the episode, buy-up holders are the only people it reaches — in the feed and on your website alike. Ticking a buy-up on an episode that tiers already carry does not make it exclusive.

See Buy-up Content Gating for the full picture.

Media Tab

Field Description
Audio URL Direct URL to the audio file (.mp3, .m4a, etc.).
Primary media Choose whether Audio or Video is the primary media for this episode.
Video URL Optional. Direct URL to a video file.
Embed code Optional. Embed HTML from a video host (YouTube, Vimeo, etc.) as an alternative to a direct video URL.

Auto-detecting media metadata: Click the Detect button next to the Audio URL field to fetch duration, file size, and format from the hosted file. The detected values appear inline and are used in the RSS feed. The Detect button is only enabled after the episode is saved — it requires an episode ID to store the result.

Artwork Tab

The Artwork tab controls the episode’s podcast artwork and the landscape image used on your website.

Artwork URL
A square image URL for podcast apps. Benecaster shows a warning if the image is smaller than 1400×1400px — Apple Podcasts and Spotify may reject or display blurry artwork below that threshold. If left blank, the show’s artwork is used as a fallback.

Featured image
A draggable crop box lets you select which portion of your square artwork becomes the 16:9 landscape image used on your episode page and in social sharing previews. Drag the crop box to position it, then save the episode. Benecaster downloads the artwork into the WordPress media library, generates a 1200×630 featured image (benecaster-featured image size), and stores it as the episode’s WordPress featured image.

On re-saves, the download is skipped if the Artwork URL hasn’t changed — only the crop is re-applied. If you change the Artwork URL, the image is downloaded fresh.

See Episode Artwork for more detail.

Guests Tab

Add people associated with the episode — guests, hosts, co-hosts, producers, or any contributor role. Credits added here are emitted as <podcast:person> tags per-item in the RSS feed, which podcast apps that support Podcasting 2.0 use to display guest and host information.

▾ Feed Credits

A collapsible Feed Credits section appears beneath the guest list. It is divided into three areas: the host row, auto-populated credits from add-ons, and manually-added credits.

Host row (read-only)

The top row mirrors the show’s Podcasting 2.0 → Host settings. When a host is configured, it shows the host’s name, a “host” role label, and URL with an Edit in settings → link. When no host is configured, a dimmed placeholder reads “No host configured. [Add in Settings →]” linking to the show’s Podcasting 2.0 settings. This row cannot be edited or deleted from the episode editor.

Auto-credits (read-only)

Below the host row, credits injected by add-ons (such as Guest Manager) appear as locked rows. Each locked row shows a padlock icon and a “via {source}” label — for example, “via Guest Manager”. When the add-on provides a source URL, an inline “view source” link opens the originating record. Locked rows have no drag handle and no delete button.

Auto-credits are never written to _benecaster_podcast2_feed_credits — they are a read-only mirror of what the feed compiler will emit. To remove an auto-populated credit, unlink the guest at the source add-on.

Manually-added credits

Below auto-credits, you can add credits specific to this episode. Rows support drag-to-reorder. Each row has four fields: Role (free text), Name, URL (optional), and Image URL (optional). Remove a row with its per-row remove button.

Click Add credit to open an inline form:

Field Notes
Role Dropdown: Host / Guest / Editor / Producer / Custom. Selecting Custom reveals a free-text role input.
Name Required. The Add button stays disabled until this field is non-empty.
URL Optional. Link to a profile, website, or social account.
Image URL Optional. URL to the person’s photo or avatar.

Click Add to append the credit, or Cancel to dismiss the form. The Add button is also disabled until the custom role field is filled when Custom is selected.

The Guest Manager add-on extends guest capabilities into full guest profiles with bios, photos, social links, and dedicated archive pages.

References Tab

Add links and resources mentioned in the episode. References appear in a References section on the public episode page, grouped by the headings you define.

Click Add reference to add a card. Each card has four fields:

Field Description
Label The link text shown to listeners. If you’ve used this reference before, the typeahead (see below) can fill this from your library.
URL The destination URL.
Description Optional plain-text note about the reference — what it is or why it’s relevant. Shown on the episode page; not included in the RSS feed.
Display label override Optional. Overrides the Label for this episode only. Useful when the same library item appears in multiple episodes under slightly different names.
Group Assigns the reference to one of the show’s reference groups (headings on the episode page).

Remove any card with the ✕ button. References save and display in the order shown.

Reference groups
Groups let you organize references under headings — for example “Books mentioned”, “Tools”, “Links from the interview”. Groups are defined per show in Show Settings → General → Reference Groups. Once groups exist, the Group dropdown appears on each reference card. Select a group or leave it as “— No group —” to place the reference in the ungrouped section.

To add a group without leaving the episode editor, choose + Add new group… from the Group dropdown, type a name, and press Enter. The group is created immediately and selected for the current card.

Library typeahead
As you type in the Label field, Benecaster searches the show’s reference library for matching items. Suggestions appear after two or more characters. Selecting a suggestion fills the Label, URL, and Description from the saved library record and links the reference to that record — so if the library item is ever updated, episode references that used the typeahead will reflect the change.

References added manually (without selecting a typeahead suggestion) are not linked to the library.

More Tab

Custom fields, errata (when enabled for the show), and Podcasting 2.0 metadata. See Episode Custom Fields.

▾ Credits

A collapsible Credits section appears above Errata on the More tab. It shows the current stamp status: “No template applied” or “Credits (applied from: [template name])”.

To apply a credit: select a template from the dropdown and click Apply. The template body resolves all shortcodes at stamp time. The TipTap editor below shows the resolved HTML, which you can freely edit after stamping. Re-applying a template replaces the current credit entirely — it does not append.

Note: Apply is disabled until the episode has been saved at least once (needs a WordPress post ID). Save as draft first, then open the Credits section to apply a template.

Credit templates are created and managed in Show Settings → Credits. See Episode Credits.

▾ Chapters

A collapsible Chapters section appears on the More tab between Credits and Errata. Use it to add podcast-app chapter markers to an episode — named, timestamped sections that let listeners jump directly to any part of the episode.

Each row has a Start time (HH:MM:SS format, e.g. 00:12:30), a Title, an optional URL, and an optional Image (from the WordPress media library). Use the ↑ ↓ arrows to reorder rows. Rows with an invalid timestamp show an inline error and are dropped silently when the episode is saved.

Changes take effect on the next episode save. See Chapter Markers for full details on RSS output, front-end display, and developer hooks.

▾ Errata

A collapsible Errata section appears on the More tab when the parent show has errata enabled (Shows → Settings → Feeds → Enable errata for this show). If errata is not enabled for the show, this section is not visible in the episode editor.

The Errata field uses the same rich text editor as the show notes — same toolbar, same triggers, same formatting options. Use it to publish corrections, clarifications, or updates after an episode has aired.

Errata content is not emitted in the RSS feed. It appears on the WordPress-rendered episode page only — below the episode body in a clearly labeled “Errata” section. Listeners will see it when they visit the episode page, but it won’t appear in podcast apps.

▾ Podcasting 2.0

A collapsible Podcasting 2.0 section appears on the More tab below any custom field groups.

Transcript

Field Description
URL Direct link to a transcript file for this episode. Type or paste an address, or use Choose file beside the box to pick one from your media library (see below).
MIME type Format of the transcript file. Options: text/plain, text/html, application/srt, text/vtt, application/json. Any stored value not in this list displays as text/plain.

When the Transcription Service add-on is active, a note appears beneath the URL field: “Transcription Service add-on auto-populates this field — you can still override it here.”

Auto-fill from an attached transcript file. Even without the Transcription Service add-on, saving an episode with a .vtt, .srt or .txt transcript file attached fills in an empty Transcript URL field automatically, and sets the MIME type to match. It never overwrites a URL you’ve already entered. If two or more transcript-shaped files are attached, Benecaster can’t tell which one you mean — nothing is filled in, and a dismissible notice names the episode so you can set the URL yourself. If no transcript file is attached, nothing changes.

Choose file button. A Choose file button sits beside the Transcript URL box and opens the standard WordPress media library — upload a new file or pick an existing one, and both the URL and MIME type fill in. The file list here is deliberately unfiltered: WordPress doesn’t recognize .vtt or .srt files, so a text-only filter would hide the two most common transcript formats. The MIME type is set from the file’s name, not the MIME type WordPress recorded for it — a .vtt file is set to text/vtt rather than the text/plain WordPress would otherwise guess. The URL box itself is unchanged and still accepts a pasted, externally hosted address.

MIME type follows the URL. Typing or pasting an address into the URL field also moves the MIME type dropdown to match its extension (.vtt, .srt, .json, .txt, .html) — a query string on the URL doesn’t prevent this. An extension Benecaster doesn’t recognize leaves the current MIME type alone rather than resetting it, the dropdown only updates once the extension is complete (not while you’re still typing), and reopening an already-saved episode never re-infers the type — if it was saved with a MIME type that no longer matches its URL, it stays as saved. The dropdown remains editable by hand at any point.

Soundbites

A drag-to-reorder repeater of short clips worth highlighting. Each row has three fields:

Field Description
Start Start time in decimal seconds. Displayed as mm:ss in the editor; stored as decimal seconds.
Duration Length of the soundbite in decimal seconds. Displayed as mm:ss; stored as decimal seconds.
Title Optional label for the soundbite.

Remove a row with its per-row trash button. Click Add soundbite below the list to add a new row. Maximum 10 soundbites per episode.

Soundbites appear in the RSS feed as:

<podcast:soundbite startTime="{start}" duration="{dur}">{title}</podcast:soundbite>

Saving and Publishing

Save Draft — saves the episode without publishing. The episode is not visible to subscribers or in your RSS feed.

Publish — makes the episode live. The episode appears in your RSS feed and on your website. Tier availability dates in the Access tab control which tiers can access it and when.

Once published, you can edit the episode at any time. Tier availability dates can be updated after publishing without unpublishing the episode.

See Also

Need this built rather than just documented? See our services →