A music player for WordPress
Press play on your own site.
The songs and videos in a post, in a player that feels like the apps you already use.
A WordPress site with ten tracks, in a new tab. Nothing to install.

The bar
Keeps playing while you read.
Tap a track and it starts. Scroll on, open another post, lock the phone; the music carries on.

- Swipe the barLeft or right for the next or previous track. Down to stop.
- Lock screen controlsTitle, artwork and the play controls on the phone's lock screen, and on the media keys.
- Survives a reloadReload the page, or open another one on the site, and the track is still there, paused where it was.
- The filamentThe amber line in the bar is a level meter. It brightens with the music and fades when you pause.
- AirPlay and ChromecastA cast button appears when a speaker or TV is on the network.
- Keyboard shortcutsSpace or K plays and pauses, J and L skip ten seconds, Shift+N and Shift+P change track.
Up next
The whole post, queued.
Every track in the post lines up behind the one you chose. Pull the handle to see what's coming.

Song or video
Same track, two ways.
When a song has a video, a switch at the top of Now Playing flips between them without losing your place.

The Riff block
One page where everything plays.
Add the block to a page and it becomes your library. Open any post inside it, play from a cover, and the music carries on.

Live demo
Hear it.
A WordPress site with ten jazz tracks, running in your browser. Nothing to install.

Opens in WordPress Playground, in a new tab. Recordings by the Airmen of Note, United States Air Force Band. Public domain.
For your site
Install it. Write a post.
Riff plays the audio and video blocks WordPress already has. No new way to upload. One new page, if you want it.
A zip from the latest release. Upload it under Plugins, Add New, Upload Plugin, and activate.
What it needs
- WordPress 6.5 or newer
- PHP 8.1 or newer
- Any block theme
What it adds
- One script, one stylesheet, no build step
- Artwork and Video version fields on media
- A block and a shortcode for the Listen page
- Nothing to configure
Open
- Source on GitHub
- GPL, like WordPress
- Release notes
- Report a problem
For developers
riff_trackon every media item in RESTriff/v1/library, with schemas- WPGraphQL fields when it's installed
- Filters and actions, listed in the readme