{"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-02-15T14:19:57","modified_gmt":"2026-02-15T14:19:57","slug":"radio-player-page","status":"publish","type":"plugin","link":"https:\/\/azb.wordpress.org\/plugins\/radio-player-page\/","author":23318803,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.2.0","stable_tag":"3.2.0","tested":"6.9.4","requires":"5.0","requires_php":"5.6","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-02-15 14:19:57","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":100,"downloads":1768,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"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-02-15 14:19:57"}},"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":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3337446,"resolution":"256x256","location":"assets","locale":""},"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":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3351398,"resolution":"772x250","location":"assets","locale":""}},"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"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3461854,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3461854,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3461854,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3461854,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3461854,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3461854,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3461854,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3461854,"resolution":"8","location":"assets","locale":""}},"screenshots":{"1":"Player page with blue theme and Oscilloscope visualizer.","2":"Player page with yellow theme, Bars Spectrum visualizer, and timezone clock.","3":"Player page with green theme, Amplitude Waterfall visualizer, and sleep mode active.","4":"Player page with pink theme and Schedule modal open.","5":"Player page with orange theme and All Programs modal open.","6":"Settings screen with minimal configuration.","7":"Settings screen showing program configuration.","8":"Settings screen showing schedule configuration."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[452,35593,18669,37155,582],"plugin_category":[50],"plugin_contributors":[245669],"plugin_business_model":[],"class_list":["post-239791","plugin","type-plugin","status-publish","hentry","plugin_tags-audio","plugin_tags-icecast","plugin_tags-radio-player","plugin_tags-radio-station","plugin_tags-streaming","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 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 mode active."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-4.png?rev=3461854","caption":"Player page with pink theme and Schedule modal open."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-5.png?rev=3461854","caption":"Player page with orange theme and All Programs modal open."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-6.png?rev=3461854","caption":"Settings screen with minimal configuration."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-7.png?rev=3461854","caption":"Settings screen showing program configuration."},{"src":"https:\/\/ps.w.org\/radio-player-page\/assets\/screenshot-8.png?rev=3461854","caption":"Settings screen showing schedule configuration."}],"raw_content":"<!--section=description-->\n<p>Radio Player Page <strong>provides dedicated, standalone player pages<\/strong> for your radio streams on WordPress. It lets you create a full weekly program schedule, manage your broadcasts, and present everything on pages that guarantee reliable, theme-independent listening.<\/p>\n\n<h4>Standalone Player Pages<\/h4>\n\n<ul>\n<li><strong>Standalone Player Pages<\/strong> \u2013 Each station lives on its own independent HTML page, completely bypassing your WordPress theme. This ensures <strong>zero theme conflicts, optimal performance, and one clear URL<\/strong> per station.<\/li>\n<li><strong>Full Program Scheduling<\/strong> \u2013 Create a weekly lineup with named shows and optional logos. The player intelligently displays the current and next program, with timezone-aware calculations and overlap prevention.<\/li>\n<li><strong>Universal Stream Compatibility<\/strong> \u2013 Works seamlessly with Icecast, Shoutcast, HLS (.m3u8), DASH (.mpd), and MP3 streams. Automatic protocol detection with native iOS Safari support for HLS.<\/li>\n<\/ul>\n\n<h4>Broadcast Management<\/h4>\n\n<ul>\n<li><strong>Multi-Station Control<\/strong> \u2013 Manage up to 10 independent stations from a single WordPress installation, each with its own stream, schedule, and branding.<\/li>\n<li><strong>Emission Timezone Clock<\/strong> \u2013 Keep a global audience informed. When your station's timezone differs from the listener's, a discreet clock shows the station's local time and the offset.<\/li>\n<li><strong>Media Session API<\/strong> \u2013 Professional integration with device lock screens and media controls, displaying station art and info.<\/li>\n<\/ul>\n\n<h4>Listener Experience<\/h4>\n\n<ul>\n<li><strong>Informed Listening<\/strong> \u2013 The player clearly shows <strong>what's on air now and what's coming next<\/strong>.<\/li>\n<li><strong>Visual Customization<\/strong> \u2013 Choose from 8 color themes and 4 real-time audio visualizers (powered by Web Audio API) to match your station's brand.<\/li>\n<li><strong>Station Branding<\/strong> \u2013 Upload custom background images and logos for each station.<\/li>\n<li><strong>Convenience Features<\/strong> \u2013 Sleep timer, responsive design, and social sharing meta tags for rich link previews.<\/li>\n<\/ul>\n\n<p><strong>Built for Modern Web Performance<\/strong>\nThe player is a self-contained application built with <strong>React 19, TypeScript, and Vite<\/strong>, ensuring a fast, accessible, and maintainable experience. It uses manifest-based asset loading for seamless updates.<\/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 directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Navigate to <strong>Settings \u2192 Radio Player Page Settings<\/strong>.<\/li>\n<li>For each station:\n\n<ul>\n<li>Enter your streaming URL (Icecast, Shoutcast, HLS, DASH, or MP3)<\/li>\n<li>Select the WordPress page where the player should appear<\/li>\n<li>Optionally customize: title, theme color, visualizer type, background image, and logo<\/li>\n<\/ul><\/li>\n<li>Click <strong>Save Changes<\/strong> and visit the assigned page<\/li>\n<\/ol>\n\n<p><strong>Important Notes<\/strong><\/p>\n\n<ul>\n<li>Each station requires both a valid streaming URL and an assigned WordPress page<\/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 in the plugin settings, 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 page content, template, and any existing settings are bypassed, ensuring the player displays correctly without any page-level configuration.<\/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.2.0<\/h4>\n\n<ul>\n<li>Added Schedule modal<\/li>\n<li>Added Programs modal<\/li>\n<li>Added optional program descriptions<\/li>\n<\/ul>\n\n<h4>3.1.0<\/h4>\n\n<ul>\n<li>Added program schedule<\/li>\n<li>Added emission timezone clock<\/li>\n<\/ul>","raw_excerpt":"Dedicated player pages for your radio streams, with program scheduling and continuous playback.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/239791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=239791"}],"author":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sjimhdez"}],"wp:attachment":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=239791"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=239791"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=239791"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=239791"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=239791"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=239791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}