What this plugin does
Web321 Podcast Player replaces the default WordPress audio player (the flat grey MediaElement bar) with a custom waveform player. It intercepts three places where audio normally appears:
- Bare MP3 URLs pasted on their own line (auto-embedded by WordPress).
- The shortcode.
- The core Audio block in the block editor.
When the MP3 lives in your Media Library, the player automatically reads the file’s title, artist and length from its stored ID3 metadata and shows them in the header.
Setup
- Activate the plugin. This page is created automatically.
- Go to Settings → Podcast Player and set your brand accent colour.
- Licensing. Paste your license key into the License box and click Activate to enable automatic updates.
- Waveforms. If the host has ffmpeg, real waveforms are generated automatically a few seconds after each audio upload. Otherwise a decorative fallback waveform is used. You can point to a specific ffmpeg binary and regenerate existing files from the settings page.
- Add audio to any post or page exactly as you normally would — no special blocks required. The custom player appears automatically.
- For full control over the header, use the shortcode:
Episode Title
0:00 | --:--
Configuration reference
| Setting | Default | What it controls |
|---|---|---|
| Accent colour | #0C5FA6 | Play button, eyebrow text, and the played portion of the waveform. |
| Replace embeds & shortcodes | On | Hooks wp_audio_shortcode_override for bare URLs and the shortcode. |
| Replace Audio block | On | Hooks render_block for the core core/audio block. |
| Rewind / forward | 15s / 30s | Skip-button intervals. |
| Show speed control | On | Shows the 1× → 1.25× → 1.5× → 2× → 0.75× toggle. |
Shortcode attributes
| Attribute | Required | Notes |
|---|---|---|
src |
Yes | MP3 URL. Media Library files are auto-detected for metadata. |
title |
No | Overrides the episode title. |
artist |
No | Host / author line. |
show |
No | Eyebrow (podcast/show name). |
episode |
No | Episode number shown in the meta line. |
date |
No | Publish date shown in the meta line. |
Troubleshooting
- Still seeing the grey player. Confirm the relevant toggle is on in Settings. Some page builders output a raw
<audio>tag that bypasses both the shortcode and the block — use theshortcode in those cases. - No title showing. The MP3 isn’t in the Media Library, or it has no ID3 tags. Pass
titleon the shortcode. - Waveform looks generic. By default the waveform is a stable, per-track decorative pattern (no decoding cost). Supply real peaks with the
w321pp_peaksfilter if you pre-compute amplitude data. - Styles missing. The CSS/JS only load on pages that contain a player. Clear any page cache after activating.
FAQ
Does it need a build step or Composer? No. It’s plain HTML/CSS/JS with a PHP backend — nothing to compile.
Can I have more than one player on a page? Yes. Each player is self-contained and tracks its own state.
Will it slow my site down? No external libraries are loaded. Assets only enqueue where a player is present.
Can I generate waveforms from the command line? Yes. On a server with WP-CLI and ffmpeg: wp w321pp peaks regenerate (add --force to rebuild all, --ids=12,34 for specific files, or --dry-run to preview). wp w321pp peaks status shows coverage; wp w321pp peaks clear removes cached peaks.
Who maintains it? Web321 Marketing Ltd., Saanichton, BC — shawn@web321.co, (250) 661-4834, web321.co.