Audio Playback Plugin Development
Budget: £250 – £750 GBP
‘bandfront-player’ WordPress Plugin
Part of a system that lets a musician spin up a fresh server and launch a fully functional music storefront with two .env variables and one bootstrap script (see github.com/100mountains/server-setup). The goal is for this plugin to turn a WooCommerce + Storefront child-theme site into a Bandcamp-style platform. Demo: https://therob.lol/
This is for an open source project so the budget is not huge, but a lot is already done and as I work on it more I will be doing some of the tasks listed.
CURRENT FUNCTIONALITY
A plugin (~6 100 lines of PHP) that embeds intelligent audio players in WooCommerce product pages, protects files (automatic demo truncation), and provides analytics.
Architecture / Stack – PHP 7.4+, WooCommerce; MediaElement.js; eight core OOP classes; WordPress meta + options; fixed to Storefront child theme.
Core classes (includes/)
class-bfp-admin.php – admin UI & settings
class-bfp-player-renderer.php – HTML output
class-bfp-player-manager.php – instantiation & assets
class-bfp-audio-processor.php – file trimming / demos
class-bfp-file-handler.php – uploads & URLs
class-bfp-config.php – config cache
class-bfp-hooks-manager.php – hooks / filters
class-bfp-woocommerce.php – WC logic
Key features
1 Context-aware players: minimal shop previews, full product controls, global defaults with per-product overrides.
2 Audio protection: auto demo clips, secure URLs, unlock after purchase, optional FFmpeg, custom demo override.
3 Layouts & skins: three built-in skins (to be revised), responsive, single/multi-player, grouped-product playback.
4 Page-builder integrations: Elementor, Gutenberg, Divi, BeaverBuilder, SiteOrigin, WPBakery.
5 Five player engines: HTML5, jPlayer, CP Media, Compact, MediaElement.js.
6 Analytics: Google Analytics events, play counters, hook for third-party tracking.
7 WooCommerce hooks: simple/variable/grouped, auto-detect downloadable audio, purchase checks, optional cart player, seamless preview→checkout.
File summary – 67 files: 29 PHP, 30 assets, 8 misc; one MP3 demo.
THE JOB
• Refactor 29 PHP files to modern standards; sanitize inputs; strip redundant/vendor code.
• Consolidate overlapping options (e.g. always show track titles); make code shorter yet clear.
• Add skip-forward / skip-back to shop-page player.
• Test existing audio engines and decide which remain.
• Audit page-builder integrations (plugin is Storefront-only).
• Optionally restore cloud-storage code.
• Reskin three players → keep two; simplify customisation.
Security & compliance – meet wordpress.org rules; verify nonces/capabilities; block SQLi/XSS; follow coding standards.
Performance – optimise DB queries; load assets only when needed; review caching.
QA – cross-browser and mobile, MP3/WAV/OGG, latest WP & WC, graceful missing-file handling, accessibility (ARIA/keyboard), admin feedback.
Compatibility – must work with the Bandfront child theme for Storefront.
Player control settings
Current modes: play/pause only, full controls, smart controls (minimal on shop, full on product pages), play-overlay on images (experimental). Decide defaults for Storefront-only scope.
Development can run on the live server or a fresh 32 GB test server.
more technical info here: https://docs.google.com/document/d/17TUtBsTGZKdl735vyRH-LwxP8D32Nmc3KG_yY1s1pCU/edit?tab=t.0
˙
Part of a system that lets a musician spin up a fresh server and launch a fully functional music storefront with two .env variables and one bootstrap script (see github.com/100mountains/server-setup). The goal is for this plugin to turn a WooCommerce + Storefront child-theme site into a Bandcamp-style platform. Demo: https://therob.lol/
This is for an open source project so the budget is not huge, but a lot is already done and as I work on it more I will be doing some of the tasks listed.
CURRENT FUNCTIONALITY
A plugin (~6 100 lines of PHP) that embeds intelligent audio players in WooCommerce product pages, protects files (automatic demo truncation), and provides analytics.
Architecture / Stack – PHP 7.4+, WooCommerce; MediaElement.js; eight core OOP classes; WordPress meta + options; fixed to Storefront child theme.
Core classes (includes/)
class-bfp-admin.php – admin UI & settings
class-bfp-player-renderer.php – HTML output
class-bfp-player-manager.php – instantiation & assets
class-bfp-audio-processor.php – file trimming / demos
class-bfp-file-handler.php – uploads & URLs
class-bfp-config.php – config cache
class-bfp-hooks-manager.php – hooks / filters
class-bfp-woocommerce.php – WC logic
Key features
1 Context-aware players: minimal shop previews, full product controls, global defaults with per-product overrides.
2 Audio protection: auto demo clips, secure URLs, unlock after purchase, optional FFmpeg, custom demo override.
3 Layouts & skins: three built-in skins (to be revised), responsive, single/multi-player, grouped-product playback.
4 Page-builder integrations: Elementor, Gutenberg, Divi, BeaverBuilder, SiteOrigin, WPBakery.
5 Five player engines: HTML5, jPlayer, CP Media, Compact, MediaElement.js.
6 Analytics: Google Analytics events, play counters, hook for third-party tracking.
7 WooCommerce hooks: simple/variable/grouped, auto-detect downloadable audio, purchase checks, optional cart player, seamless preview→checkout.
File summary – 67 files: 29 PHP, 30 assets, 8 misc; one MP3 demo.
THE JOB
• Refactor 29 PHP files to modern standards; sanitize inputs; strip redundant/vendor code.
• Consolidate overlapping options (e.g. always show track titles); make code shorter yet clear.
• Add skip-forward / skip-back to shop-page player.
• Test existing audio engines and decide which remain.
• Audit page-builder integrations (plugin is Storefront-only).
• Optionally restore cloud-storage code.
• Reskin three players → keep two; simplify customisation.
Security & compliance – meet wordpress.org rules; verify nonces/capabilities; block SQLi/XSS; follow coding standards.
Performance – optimise DB queries; load assets only when needed; review caching.
QA – cross-browser and mobile, MP3/WAV/OGG, latest WP & WC, graceful missing-file handling, accessibility (ARIA/keyboard), admin feedback.
Compatibility – must work with the Bandfront child theme for Storefront.
Player control settings
Current modes: play/pause only, full controls, smart controls (minimal on shop, full on product pages), play-overlay on images (experimental). Decide defaults for Storefront-only scope.
Development can run on the live server or a fresh 32 GB test server.
more technical info here: https://docs.google.com/document/d/17TUtBsTGZKdl735vyRH-LwxP8D32Nmc3KG_yY1s1pCU/edit?tab=t.0
˙
Related categories:
PHP
JavaScript
WordPress
CSS
HTML5
WooCommerce
Web Development
Audio Processing
Security
WordPress Plugin