How to add a sticky audio and video player in WordPress
Use WordPress’s Audio or Video block for a player that stays visible while visitors scroll. If playback must continue while visitors open other pages, the native blocks are not enough: use AJAX or custom development, or install a persistent-player plugin.
- 01Choose the playback behaviour
- 02Add the native media player
- 03Make the player stay visible
- 04Understand the navigation limit
- 05Set sensible media options
- 06Test the player everywhere
- 07Use a persistent-player plugin
What you need
- Administrator or editor access to WordPress
- An MP3, MP4, stream or hosted video source
- A theme or site editor that lets you add content site-wide
- A test page and mobile device
Choose the playback behaviour
Decide whether you only need a player fixed to the viewport, or whether the same track must continue while visitors move between pages. These are different jobs. A fixed player can be built with normal WordPress blocks and CSS; continuous playback needs the player to survive navigation.
Also decide whether you are serving an MP3 or MP4 yourself, embedding a hosted video, or loading a live stream. Large self-hosted video files can consume storage and bandwidth quickly.
Add the native media player
Edit the page, template, footer or site-wide widget area where the player should appear. Add an Audio block for an MP3 or other supported audio file, or a Video block for an uploaded file or video URL. WordPress provides playback controls and settings such as autoplay, loop, mute and preload.
Put the player in a site-wide location rather than inside one post if visitors should see it throughout the site. A player placed only in post content will disappear when the visitor opens another page.
Make the player stay visible
Wrap the player in a Group block or theme container, then use the editor’s sticky-position option if your site exposes one. WordPress.com documents this Group-block method for keeping blocks visible while scrolling. On a self-hosted site, the equivalent is a fixed-position container added through the theme or custom CSS, usually anchored to the bottom of the viewport.
Leave space for the player so it does not cover cookie notices, checkout buttons, captions or mobile navigation. Check both bottom and top placement because some themes already reserve space around the header or footer.
Understand the navigation limit
A native Audio or Video block normally stops when the browser loads a new WordPress page. Making it sticky keeps it visible during scrolling; it does not preserve playback across a full page reload. Continuous playback requires site navigation that replaces page content without reloading, custom JavaScript that carries the live player between views, or a plugin built for persistent playback.
This is the point where many implementations break: the player appears on every page, but the audio starts again or stops after every click. Do not promise uninterrupted playback unless you have tested actual navigation between several pages.
Set sensible media options
Keep playback controls enabled, use muted autoplay only where it serves a clear purpose, and avoid forcing visitors to hear sound as soon as a page opens. Browsers commonly block autoplay with sound, and video autoplay may be blocked even when the setting is enabled.
Use metadata or a low preload setting for large files instead of downloading the entire file on page load. Add captions to videos and provide a text transcript where the content matters for accessibility.
Test the player everywhere
Open the site on desktop and mobile, scroll through long pages, resize the browser, and test the player over menus, consent banners and checkout controls. Then start playback and visit at least five different pages, use Back and Forward, and visit one page where the player is absent.
Confirm that the player does not create two audio streams, overlap the mobile browser controls, or restart unexpectedly. If playback must continue between pages and the native route fails this test, the fast route is a persistent-player plugin.
Use a persistent-player plugin
For the fast route, use MP3 Sticky Player WordPress And WooCommerce Plugin. It is designed to keep an audio or video player fixed at the top or bottom of the site, with playlists, streams, podcasts and a popup player. It supports MP3, MP4, YouTube videos, HLS streams and podcast content, so it is a better fit than the native blocks when you need site-wide playback and more than one track.
After installing it, create the playlist or media source, choose the sticky position and enable the persistent or popup behaviour that matches your site. Test page-to-page playback before publishing, because caching, theme scripts and consent tools can still interfere with a player that loads site-wide.
Let MP3 Sticky Player WordPress And WooCommerce Plugin do it
Persistent playback with playlists, streams, podcasts, and a popup player for media-heavy sites.
Sources
- learn.wordpress.org /lesson-plan/managing-media/?utm_source=openai
- wordpress.com /support/make-a-sticky-element/?utm_source=openai
- arraystory.com /docs/ajaxpress/keep-audio-or-video-playing-across-pages/?ut…
- wordpress.com /support/wordpress-editor/blocks/video-block/?utm_source=ope…
Questions
- Can WordPress make an audio player sticky without a plugin?
- Yes, WordPress can create a native Audio block and your theme can keep its container fixed while visitors scroll. This is suitable for a player that remains visible on one page or across a site-wide template. It does not, by itself, keep playback running after a normal page reload, so continuous playback needs custom navigation or a persistent-player plugin.
- Will audio keep playing when visitors open another WordPress page?
- Not with a normal page load. The browser destroys the old page and its media element, so playback stops unless the site uses AJAX-style navigation, a single-page application pattern, custom code that preserves the live player, or a plugin designed for continuous playback. Test links, browser Back and Forward, and pages without the player before relying on this feature.
- Can I make a video player sticky at the bottom of the screen?
- Yes, place the Video block inside a fixed or sticky container and position that container at the bottom of the viewport. Keep the player compact on mobile, leave room for browser and theme controls, and avoid covering important content. Autoplay may still be blocked, especially when the video includes sound, so give visitors a clear play control.
- Why does my sticky player stop after clicking a menu link?
- It stops because the link is causing a full page reload, which removes the current audio or video element. Showing an identical player in the footer on the next page does not preserve its playback state. Use AJAX or custom navigation, or replace the native setup with a player that explicitly supports persistent playback across page changes.
- Should I use the WordPress Audio block for a podcast playlist?
- Use it for a simple single-file player, but choose a playlist or dedicated player when you need multiple episodes, streams, a popup view, persistent playback or detailed controls. The native block is quick and avoids extra software, while a dedicated player reduces the custom work needed for site-wide media and page-to-page playback.