Skip to content

Embed a polished podcast episode audio player via shortcode, Gutenberg block, Elementor, or the default episode template.

Podcast Audio Player

The MediaBlaster Podcast Audio Player embeds episode audio on WordPress pages. The shortcode, Gutenberg block, Elementor widget, and public episode template all use the same player, so playback, premium locking, and styling stay consistent.

Requires: Enable Podcasts on General Settings.

What it does

  • Resolves audio from the episode’s canonical source (upload or external URL) via Wp_Smart_Tv_Podcast_Tools
  • Renders accessible markup with a native <audio> element and custom controls (play/pause, skip ±15s/30s, progress, speed)
  • Respects premium episodes: locked message only — no audio URL in HTML for unauthorized public viewers
  • Enqueues scoped CSS/JS only when the player appears on the page

See also: Podcast Episodes for configuring episode media.

Shortcodes

Preferred:

[mediablaster_audio_player]

Aliases (same behavior):

[mediablaster_podcast_player]
[wpst_audio_player]

Examples

Current episode (on a single podcast_episode page):

[mediablaster_audio_player]

Specific episode:

[mediablaster_audio_player id="123"]

With options:

[mediablaster_audio_player id="123" style="compact" theme="dark" show_download="true"]

Gutenberg block

  • Block name: mediablaster/audio-player
  • Title: MediaBlaster Audio Player
  • Category: Widgets

In the block sidebar, set Podcast Episode ID and toggle display options (artwork, title, skip controls, speed, etc.). Without an episode ID, the editor shows a placeholder until an ID is set (or use the block on an episode page with ID 0 and rely on the current post — set the ID in the sidebar to the episode’s post ID for explicit previews).

Elementor widget

When Elementor is active, find MediaBlaster Audio Player under the MediaBlaster category (or General).

Controls mirror the shortcode options: episode ID, display toggles, style, theme, and extra CSS class. The canvas preview matches the live site.

Episode template

Public single episode pages (single-podcast-episode.php) use the audio player automatically for playable audio media. Video and oEmbed media are unchanged.

Attributes and options

Attribute / optionDefaultValuesDescription
idcurrent post IDpost IDpodcast_episode post ID
show_artworktrueboolEpisode or show artwork
show_titletrueboolEpisode title
show_show_nametrueboolLinked podcast show name
show_descriptionfalseboolExcerpt or trimmed show notes
show_metatrueboolDate, duration, episode type
show_downloadfalseboolDownload link (only when audio is playable)
show_speedtrueboolPlayback speed selector
show_skiptrueboolSkip back 15s / forward 30s
show_progresstrueboolProgress range and time display
themedefaultdefault, dark, minimalColor theme
stylecardcard, compact, inline, minimalLayout style
classstringExtra CSS classes on the wrapper

Shortcode booleans accept true/false, 1/0, yes/no, on/off.

Premium episodes

For premium episodes in the public context, normalized episode data clears canonical_audio. The player shows the Premium Episode Locked Message from Podcast Settings (when subscriptions are enabled) and does not output:

  • <audio src="...">
  • Download links
  • data-audio-url or similar

This matches RSS and public page behavior; subscription entitlement on public WordPress pages is not upgraded by the player alone.

Audio sources

Episode audio is resolved in this order (see episode Audio source meta):

  1. Upload — Media Library file (CMB2 stores attachment ID in {field}_id meta)
  2. External URL — Direct link to an audio file (must be playable MIME, not an embed-only page)

If neither is configured, visitors see Audio is not available for this episode. Administrators see a hint to configure upload or URL in the episode editor.

Was this helpful?