{"id":239791,"date":"2025-07-31T17:56:08","date_gmt":"2025-07-31T17:56:08","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/radio-player-simple-page\/"},"modified":"2026-07-26T18:12:00","modified_gmt":"2026-07-26T18:12:00","slug":"radio-player-page","status":"publish","type":"plugin","link":"https:\/\/af.wordpress.org\/plugins\/radio-player-page\/","author":23318803,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.3.1","stable_tag":"3.3.1","tested":"7.0.2","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"Radio Player Page","header_author":"Santiago Jim\u00e9nez H.","header_description":"A simple audio player for WordPress, serving a clean external app in a selected page.","assets_banners_color":"313131","last_updated":"2026-07-26 18:12:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/santiagojimenez.dev","rating":5,"author_block_rating":0,"active_installs":200,"downloads":3057,"num_ratings":3,"support_threads":5,"support_threads_resolved":5,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"sjimhdez","date":"2025-07-31 17:56:31"},"1.0.4":{"tag":"1.0.4","author":"sjimhdez","date":"2025-08-01 19:23:02"},"1.1.0":{"tag":"1.1.0","author":"sjimhdez","date":"2025-08-16 14:55:12"},"1.1.1":{"tag":"1.1.1","author":"sjimhdez","date":"2025-08-16 16:04:06"},"1.1.2":{"tag":"1.1.2","author":"sjimhdez","date":"2025-09-16 21:40:05"},"1.1.3":{"tag":"1.1.3","author":"sjimhdez","date":"2025-11-16 12:36:44"},"1.1.4":{"tag":"1.1.4","author":"sjimhdez","date":"2025-11-29 13:23:07"},"1.2.0":{"tag":"1.2.0","author":"sjimhdez","date":"2025-12-02 20:07:52"},"1.2.1":{"tag":"1.2.1","author":"sjimhdez","date":"2025-12-07 15:02:15"},"2.0.1":{"tag":"2.0.1","author":"sjimhdez","date":"2025-12-19 21:24:52"},"2.0.2":{"tag":"2.0.2","author":"sjimhdez","date":"2025-12-23 22:36:51"},"3.1.0":{"tag":"3.1.0","author":"sjimhdez","date":"2026-02-11 21:03:41"},"3.2.0":{"tag":"3.2.0","author":"sjimhdez","date":"2026-04-15 11:57:55"},"3.3.0":{"tag":"3.3.0","author":"sjimhdez","date":"2026-04-21 18:39:25"},"3.3.1":{"tag":"3.3.1","author":"sjimhdez","date":"2026-07-26 18:12:00"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":3},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3337446,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3337446,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3351398,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3416685,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3351398,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3","1.0.4","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.2.0","1.2.1","2.0.1","2.0.2","3.1.0","3.2.0","3.3.0","3.3.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3461854,"resolution":"1","location":"assets","locale":"","width":2880,"height":1800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3461854,"resolution":"2","location":"assets","locale":"","width":2880,"height":1800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3461854,"resolution":"3","location":"assets","locale":"","width":2880,"height":1800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3461854,"resolution":"4","location":"assets","locale":"","width":2880,"height":1800},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3461854,"resolution":"5","location":"assets","locale":"","width":2880,"height":1800},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3512117,"resolution":"6","location":"assets","locale":"","width":2880,"height":1800},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3512117,"resolution":"7","location":"assets","locale":"","width":2880,"height":1800},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3512117,"resolution":"8","location":"assets","locale":"","width":2880,"height":1800}},"screenshots":{"1":"Player page with blue theme and Oscilloscope visualizer.","2":"Player page with yellow theme, Bars Spectrum visualizer, and Broadcast Timezone Clock.","3":"Player page with green theme, Amplitude Waterfall visualizer, and Sleep Timer active.","4":"Player page with pink theme and Weekly Schedule dialog open.","5":"Player page with orange theme and Radio Shows dialog open.","6":"Radio Stations list.","7":"Radio Station edit screen with streaming URL and player page.","8":"Radio Station edit screen with weekly schedule."}},"plugin_section":[],"plugin_tags":[35593,18669,273382,37155,30402],"plugin_category":[50],"plugin_contributors":[245669],"plugin_business_model":[],"class_list":["post-239791","plugin","type-plugin","status-publish","hentry","plugin_tags-icecast","plugin_tags-radio-player","plugin_tags-radio-schedule","plugin_tags-radio-station","plugin_tags-shoutcast","plugin_category-media","plugin_contributors-sjimhdez","plugin_committers-sjimhdez"],"banners":{"banner":"https:\/\/ps.w.org\/radio-player-page\/assets\/banner-772x250.png?rev=3351398","banner_2x":"https:\/\/ps.w.org\/radio-player-page\/assets\/banner-1544x500.png?rev=3416685","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/radio-player-page\/assets\/icon.svg?rev=3351398","icon":"https:\/\/ps.w.org\/radio-player-page\/assets\/icon.svg?rev=3351398","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-1.png?rev=3461854","caption":"Player page with blue theme and Oscilloscope visualizer."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-2.png?rev=3461854","caption":"Player page with yellow theme, Bars Spectrum visualizer, and Broadcast Timezone Clock."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-3.png?rev=3461854","caption":"Player page with green theme, Amplitude Waterfall visualizer, and Sleep Timer active."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-4.png?rev=3461854","caption":"Player page with pink theme and Weekly Schedule dialog open."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-5.png?rev=3461854","caption":"Player page with orange theme and Radio Shows dialog open."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-6.png?rev=3512117","caption":"Radio Stations list."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-7.png?rev=3512117","caption":"Radio Station edit screen with streaming URL and player page."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-8.png?rev=3512117","caption":"Radio Station edit screen with weekly schedule."}],"raw_content":"<!--section=description-->\n<p>Radio Player Page lets you create dedicated listening pages for your radio stations on WordPress. Each station has its own standalone page with reliable playback, integrated weekly scheduling, radio show information, and custom branding, completely independent of your WordPress theme.<\/p>\n\n<p>Designed for online radio stations, community broadcasters, and streaming services, it combines station management, scheduling, and playback into a single solution while keeping the listening experience fast, reliable, and distraction-free.<\/p>\n\n<h4>Dedicated Listening Pages<\/h4>\n\n<ul>\n<li><strong>Standalone Listening Pages<\/strong> \u2013 Every station has its own independent HTML page, bypassing your WordPress theme entirely. This guarantees reliable playback, excellent performance, and a dedicated URL for every station.<\/li>\n<li><strong>Reliable Playback<\/strong> \u2013 Listeners always access the same optimized player page without theme conflicts, page builder issues, or unnecessary front-end overhead.<\/li>\n<li><strong>Universal Stream Compatibility<\/strong> \u2013 Supports Icecast, Shoutcast, HLS (.m3u8), DASH (.mpd), and MP3 streams with automatic protocol detection and native HLS support on iOS Safari.<\/li>\n<\/ul>\n\n<h4>Radio Schedule<\/h4>\n\n<ul>\n<li><strong>Weekly Schedule<\/strong> \u2013 Build a complete weekly schedule with named radio shows, optional logos, timezone-aware calculations, and overlap prevention.<\/li>\n<li><strong>Now &amp; Next Information<\/strong> \u2013 The player automatically displays the current radio show and the next scheduled show.<\/li>\n<li><strong>Radio Shows Library<\/strong> \u2013 Create reusable radio shows with featured images, descriptions, and broadcast times.<\/li>\n<\/ul>\n\n<h4>Station Management<\/h4>\n\n<ul>\n<li><strong>Multi-Station Support<\/strong> \u2013 Manage multiple independent radio stations from a single WordPress installation.<\/li>\n<li><strong>Station Branding<\/strong> \u2013 Customize each station with its own logo, background image, and color theme.<\/li>\n<li><strong>Broadcast Timezone Clock<\/strong> \u2013 Display your station's local time whenever it differs from the listener's timezone.<\/li>\n<\/ul>\n\n<h4>Listener Experience<\/h4>\n\n<ul>\n<li><strong>Visual Themes<\/strong> \u2013 Choose from eight color themes.<\/li>\n<li><strong>Audio Visualizers<\/strong> \u2013 Four real-time visualizers powered by the Web Audio API.<\/li>\n<li><strong>Media Session API<\/strong> \u2013 Integration with lock screens and hardware media controls, including artwork and metadata.<\/li>\n<li><strong>Convenience Features<\/strong> \u2013 Sleep Timer, responsive layout, and Open Graph metadata for social sharing.<\/li>\n<\/ul>\n\n<h4>Blocks<\/h4>\n\n<ul>\n<li><strong>Radio Schedule Block<\/strong> \u2013 Display the complete weekly schedule for any station anywhere on your site using the Block Editor.<\/li>\n<li><strong>Radio Shows List Block<\/strong> \u2013 Display a list of radio shows including featured images, descriptions, and broadcast schedules.<\/li>\n<\/ul>\n\n<h4>Modern Architecture<\/h4>\n\n<p>Radio Player Page is built as a standalone React application using React 19, TypeScript, and Vite. Assets are loaded through a manifest-based system for efficient caching, fast updates, and long-term maintainability.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>radio-player-page<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>RPP \u2192 Stations<\/strong> and create your first station.<\/li>\n<li>Configure:\n\n<ul>\n<li>Streaming URL (Icecast, Shoutcast, HLS, DASH, or MP3)<\/li>\n<li>WordPress page<\/li>\n<li>Station title<\/li>\n<li>Branding options (logo, background, color theme)<\/li>\n<li>Audio visualizer<\/li>\n<\/ul><\/li>\n<li>Publish the station.<\/li>\n<li>Optionally create radio shows from <strong>RPP \u2192 Radio Shows<\/strong> and build the station's weekly schedule.<\/li>\n<\/ol>\n\n<p><strong>Important Notes<\/strong><\/p>\n\n<ul>\n<li>Every station requires a valid streaming URL and an assigned WordPress page.<\/li>\n<li>Stations and radio shows are stored as WordPress custom post types.<\/li>\n<li>Deactivating the plugin preserves your data.<\/li>\n<li>Uninstalling the plugin permanently removes stations, radio shows, and schedules.<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20configure%20anything%20on%20the%20wordpress%20page%3F\"><h3>Do I need to configure anything on the WordPress page?<\/h3><\/dt>\n<dd><p>No. Once you assign a page to a station on the <strong>RPP \u2192 Stations<\/strong> edit screen, no additional configuration is needed on the page itself. The plugin intercepts page requests using WordPress template redirect hooks and serves a standalone HTML page with the player. The normal page output (content, template, blocks) is bypassed for that URL, so the player always loads reliably without page-level setup.<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20support%20or%20report%20issues%3F\"><h3>Where can I get support or report issues?<\/h3><\/dt>\n<dd><p>Visit the <a href=\"https:\/\/wordpress.org\/support\/plugin\/radio-player-page\/\">WordPress Support Forum<\/a> for help, feature requests, and to report any bugs.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20for%20commercial%20radio%20stations%3F\"><h3>Can I use this for commercial radio stations?<\/h3><\/dt>\n<dd><p>Yes. The plugin is free and open-source (GPLv2 or later), suitable for both commercial and non-commercial radio stations.<\/p><\/dd>\n<dt id=\"where%20can%20i%20view%20the%20full%20source%20code%3F\"><h3>Where can I view the full source code?<\/h3><\/dt>\n<dd><p>The source code is hosted on <a href=\"https:\/\/github.com\/sjimhdez\/radio-player-page\">GitHub<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.3.1<\/h4>\n\n<ul>\n<li>Raised minimum requirements to WordPress 6.6 and PHP 7.4. Required for blocks (Block API v3 and modern JSX runtime). Sites below these versions can keep the installed plugin but cannot update until they upgrade.<\/li>\n<li>Tested up to WordPress 7.0.<\/li>\n<li>Modernized PHP codebase for PHP 7.4+ (typed classes, short array syntax, null coalescing).<\/li>\n<li>Aligned terminology across the admin area, player, and blocks around consistent concepts such as Radio Station, Radio Show, Weekly Schedule, Broadcast Time, and On Air.<\/li>\n<li>Updated player translations across all supported languages.<\/li>\n<li>Improved empty states and block editor settings labels for the Weekly Schedule and Radio Shows List blocks.<\/li>\n<li>Improved radio show featured image layout in the player weekly schedule and radio shows dialogs.<\/li>\n<\/ul>\n\n<h4>3.3.0<\/h4>\n\n<ul>\n<li>Added Weekly Schedule block.<\/li>\n<li>Added Radio Shows List block.<\/li>\n<li>Radio stations and radio shows now use CPTs.<\/li>\n<\/ul>","raw_excerpt":"Create dedicated listening pages for your radio stations with integrated radio schedules and reliable playback.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/239791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=239791"}],"author":[{"embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sjimhdez"}],"wp:attachment":[{"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=239791"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=239791"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=239791"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=239791"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=239791"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=239791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}