WordPress Plugin – Radio Station

Radio Station - WordPress Plug-in

Radio Station is a plugin to run a radio station’s website. It’s functionality is based on Drupal 6’s Station plugin, reworked for use in WordPress. The plugin includes the ability to associate users with “shows” (schedulable blocks of time that contain a description, and other meta information), and generate playlists associated with those shows. The plugin contains a widget to display the currently on-air DJ with a link to the DJ’s show and current playlist. A schedule of all shows can also be generated.


WordPress Repo: http://wordpress.org/extend/plugins/radio-station/

Direct Downloads:

Version 2.1.3 – 12/8/2015

[accordion title=”Older Versions”]
Version 2.1.2 – 10/5/2015
Version 2.1.1 – 2/16/2015
Version 2.1 – 2/12/2015
Version 2.0.16 – 9/16/14
Version 2.0.15 – 9/9/14
Version 2.0.14 – 9/4/14
Version 2.0.13 – 7/24/14
Version 2.0.12 – 7/3/14 – *Bug fix
Version 2.0.11 – 6/30/14
Version 2.0.10 – 6/5/2014
Version 2.0.9 – 6/4/2014
Version 2.0.8 – 5/14/2014
Version 2.0.6 – 3/13/2014
Version 2.0.5 – 3/11/2013 – *Bug Fix
Version 2.0.4 – 3/4/2014 – *Bug Fix
Version 2.0.3 – 2/10/2014
Version 2.0.2 – 12/9/2013 – *Bug fix
Version 2.0.1 – 11/27/2013- *Bug fix
Version 2.0.0 – 11/26/2013
Version 1.6.2 – 11/20/2013
Version 1.6.1 – 11/12/2013 – *Bug fix
Version 1.6.0 – 11/11/2013
Version 1.5.4 – 10/15/2013
Version 1.5.3 – 10/2/2013
Version 1.5.2 – 9/27/2013
Version 1.5.1 – 9/26/2013
Version 1.5.0 – 9/25/2013
Version 1.4.6 – 9/19/2013
Version 1.4.5 – 8/23/2013
Version 1.4.4 – 8/19/2013
Version 1.4.3 – 8/14/2013
Version 1.4.2 – 8/6/2013
Version 1.4.1 – 8/5/2013
Version 1.4.0 – 8/5/2013
Version 1.3.9 – 8/01/2013
Version 1.3.8 – 6/27/2013
Version 1.3.7 – 6/24/2013
Version 1.3.6 – 5/29/2013
Version 1.3.5 – 5/13/2013
Version 1.3.4 – 4/17/2013
Version 1.3.3 – 4/11/2013
Version 1.3.2 – 4/5/2013
Version 1.3.1 – 3/19/2013
Version 1.3 – 2/25/2013

Contributors: kionae
Donate link: http://www.nlb-creations.com/donate
Tags: dj, music, playlist, radio, scheduling
Requires at least: 3.3.1
Tested up to: 4.3.1
Stable tag: trunk


  1. Upload plugin .zip file to the /wp-content/plugins/ directory and unzip.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Give any users who need access to the plugin the role of “DJ”. Only DJ and administrator roles have administrative access.
  4. Create shows and set up shifts.
  5. Add playlists to your shows.


Frequently Asked Questions

[accordion title=”I’m seeing 404 Not Found errors when I click on the link for a show!”]
Try re-saving your site’s permalink settings. WordPress sometimes gets confused with a custom post type is added.
[accordion title=”My Shows don’t have a place to add a featured image. Is the plugin broken?”]
No. This is usually a theme issue.

It may be that you don’t have post thumbnails enabled in your theme, or the theme you’re using enables them only for specific post types. Check your theme’s
functions.php file and see if there is a line that looks like this:

add_theme_support( 'post-thumbnails' );

If not, you’ll need to add that line in to enable featured images. You may also see something like this:

add_theme_support( 'post-thumbnails', array( 'post', 'page' ) );

If that’s the case, your theme is enabling featured images selectively, and you can turn them on for Shows by adding “show” to the array, like this:

add_theme_support( 'post-thumbnails', array( 'post', 'page', 'show' ) );
[accordion title=”How do I schedule a show?”]
Simply create a new show. You will be able to aside it to any timeslot you wish on the edit page.
[accordion title=”What if I have a special event?”]
If you have a one-off event that you need to show up in the On-Air or Coming Up Next widgets, you can create a Schedule Override by clicking the Schedule Override tab
in the Dashboard menu. This will allow you to set aside a block of time on a specific date, and will display the title you give it in the widgets. Please note that
this will only override the widgets and their corresponding shortcodes. If you are using the weekly master schedule shortcode on a page, its output will not be altered.
[accordion title=”How do I display a full schedule of my station’s shows?”]
Use the shortcode [master-schedule] on any page. This will generate a table containing your show details.

The following attributes are available for the shortcode:
‘list’ => If set to a value of ‘list’, the schedule will display in list format rather than table or div format. Valid values are ‘list’, ‘divs’, ‘table’.  Default value is ‘table’.
‘time’ => The time format you with to use.  Valid values are 12 and 24.  Default is 12.
‘show_link’ => Display the title of the show as a link to its profile page.  Valid values are 0 for hide, 1 for show.  Default is 1.
‘display_show_time’ => Display start and end times of each show after the title in the grid.  Valid values are 0 for hide, 1 for show.  Default is 1.
‘show_image’ => If set to a value of 1, the show’s avatar will be displayed.  Default value is 0.
‘show_djs’ => If set to a value of 1, the names of the show’s DJs will be displayed.  Default value is 0.
‘divheight’ => Set the height, in pixels, of the individual divs in the ‘divs’ layout.  Default is 45.
‘single_day’ => Display schedule for only a single day of the week.  Only works if you are using the ‘list’ format.  Valid values are sunday, monday, tuesday, wednesday, thursday, friday, saturday.

For example, if you wish to use 24-hour time format, use [master-schedule time="24"].    If you want to only show Sunday’s schedule, use [master-schedule list="list" single_day="sunday"].
[accordion title=”How do I get the last song played to show up?”]
You’ll find a widget for just that purpose under the Widgets tab. You can also use the shortcode [now-playing] in your page/post, or use do_shortcode('[now-playing]'); in your template files.

The following attributes are available for the shortcode:
‘title’ => The title you would like to appear over the now playing block
‘artist’ => Display artist name. Valid values are 0 for hide, 1 for show. Default is 1.
‘song’ => Display song name. Valid values are 0 for hide, 1 for show. Default is 1.
‘album’ => Display album name. Valid values are 0 for hide, 1 for show. Default is 0.
‘label’ => Display label name. Valid values are 0 for hide, 1 for show. Default is 0.
‘comments’ => Display DJ comments. Valid values are 0 for hide, 1 for show. Default is 0.


[now-playing title="Current Song" artist="1" song="1" album="1" label="1" comments="0"]

[accordion title=”What about displaying the current DJ on air?”]
You’ll find a widget for just that purpose under the Widgets tab. You can also use the shortcode [dj-widget] in your page/post, or you can use


in your template files.

The following attributes are available for the shortcode:
‘title’ => The title you would like to appear over the on-air block
‘display_djs’ => Display the names of the DJs on the show.  Valid values are 0 for hide names, 1 for show names.  Default is 0.
‘show_avatar’ => Display a show’s thumbnail. Valid values are 0 for hide avatar, 1 for show avatar. Default is 0.
‘show_link’ => Display a link to a show’s page. Valid values are 0 for hide link, 1 for show link. Default is 0.
‘default_name’ => The text you would like to display when no show is schedule for the current time.
‘time’ => The time format used for displaying schedules. Valid values are 12 and 24. Default is 12.
‘show_sched’ => Display the show’s schedules. Valid values are 0 for hide schedule, 1 for show schedule. Default is 1.
‘show_playlist’ => Display a link to the show’s current playlist. Valid values are 0 for hide link, 1 for show link. Default is 1.
‘show_all_sched’ => Displays all schedules for a show if it airs on multiple days. Valid values are 0 for current schedule, 1 for all schedules. Default is 0.


[dj-widget title="Now On-Air" display_dj="1" show_avatar="1" show_link="1" default_name="RadioBot" time="12" schow_sched="1" show_playlist="1" show_all_sched="0"]

[accordion title=”Can I display upcoming shows, too?”]
You’ll find a widget for just that purpose under the Widgets tab. You can also use the shortcode [dj-coming-up-widget] in your page/post, or you can use

echo do_shortcode('[dj-coming-up-widget]');

in your template files.

The following attributes are available for the shortcode:
‘title’ => The title you would like to appear over the on-air block
‘display_djs’ => Display the names of the DJs on the show.  Valid values are 0 for hide names, 1 for show names.  Default is 0.
‘show_avatar’ => Display a show’s thumbnail. Valid values are 0 for hide avatar, 1 for show avatar. Default is 0.
‘show_link’ => Display a link to a show’s page. Valid values are 0 for hide link, 1 for show link. Default is 0.
‘limit’ => The number of upcoming shows to display. Default is 1.
‘time’ => The time format used for displaying schedules. Valid values are 12 and 24. Default is 12.
‘show_sched’ => Display the show’s schedules. Valid values are 0 for hide schedule, 1 for show schedule. Default is 1.


[dj-widget title="Coming Up On-Air" display_dj="1" show_avatar="1" show_link="1" limit="3" time="12" schow_sched="1"]

Can I change how show pages are laid out/displayed?

Yes. Copy the radio-station/templates/single-show.php file into your theme directory, and alter as you wish. This template, and all of the other templates in this plugin, are based on the TwentyEleven theme. If you’re using a different theme, you may have to rework them to reflect your theme’s layout.
[accordion title=”What about playlist pages?”]
Same deal as the previous question. Grab the radio-station/templates/single-playlist.php file, copy it to your theme directory, and go to town.
[accordion title=”And playlist archive pages?”]
Same as above. Grab the radio-station/templates/archive-playlist.php file, copy it to your theme directory, and go to town.
[accordion title=”And the program schedule, too?”]
Because of the complexity of outputting the data, you can’t directly alter the template, but you can copy the radio-station/templates/program-schedule.css file into your theme directory and change the CSS rules for the page.
[accordion title=”What if I want to style the DJ on air sidebar widget?”]
Copy the radio-station/templates/djonair.css file to your theme directory.
[accordion title=”How do I get an archive page that lists ALL of the playlists instead of just the archives of individual shows?”]
First, grab the radio-station/templates/playlist-archive-template.php file, and copy it to your active theme directory. Then, create a Page in wordpress to hold the playlist archive. Under Page Attributes, set the template to Playlist Archive. Please note: If you don’t copy the template file to your theme first, the option to select it will not appear.
[accordion title=”Can show pages link to an archive of related blog posts?”]
Yes, in much the same way as the full playlist archive described above. First, grab the radio-station/templates/show-blog-archive-template.php file, and copy it to your active theme directory. Then, create a Page in wordpress to hold the blog archive. Under Page Attributes, set the template to Show Blog Archive.
[accordion title=”How can I list all of my shows?”]
Use the shortcode [list-shows] in your page/posts or use do_shortcode(['list-shows']); in your template files. This will output an unordered list element containing the titles of and links to all shows marked as “Active”.
[accordion title=”I need users other than just the Administrator and DJ roles to have access to the Shows and Playlists post types. How do I do that?”]
Since I’m stongly opposed to reinventing the wheel, I recommend Justin Tadlock’s excellent “Members” plugin for that purpose. You can find it on WordPress.org, here: http://wordpress.org/extend/plugins/members/

Add the following capabilities to any role you want to give access to Shows and Playlist:


If you want the new role to be able to create or approve new shows, you should also give them the following capabilities:

[accordion title=”How do I change the DJ’s avatar in the sidebar widget?”]
The avatar is whatever image is assigned as the DJ/Show’s featured image. All you have to do is set a new featured image.
[accordion title=”Why don’t any users show up in the DJs list on the Show edit page?”]
You did remember to assign the DJ role to the users you want to be DJs, right?
[accordion title=”My DJs can’t edit a show page. What do I do?”]
The only DJs that can edit a show are the ones listed as being ON that show in the DJs select menu. This is to prevent DJs from editing other DJs shows without permission.
[accordion title=”How can I export a list of songs played on a given date?”]
Under the Playlists menu in the dashboard is an Export link. Simply specify the a date range, and a text file will be generated for you.
[accordion title=”Can my DJ’s have customized user profile pages in addition to Show pages?”]
Yes. These pages are the same as any other author page (edit or create the author.php template file in your theme directory). A sample can be found in the radio-station/templates/author.php file. Like the other theme templates included with this plugin, this file is based on the TwentyEleven theme.
[accordion title=”I don’t want to use Gravatar for my DJ’s image on their user profile page.”]
Then you’ll need to install a plugin that lets you add a different image to your DJ’s user account and edit your author.php theme file accordingly. That’s a little out of the scope of this plugin. I recommend Cimy User Extra Fields: http://wordpress.org/extend/plugins/cimy-user-extra-fields/
[accordion title=”What languages other than English is the plugin available in?”]
Right now:

Albanian (sq_AL)
French (fr_FR)
German (de_DE)
Italian (it_IT)
Russion (ru_RU)
Serbian (sr_RS)
Spanish (es_ES)
Catalan (ca)

[accordion title=”Can you translate the plugin into my language?”]
My foreign language skills are rather lacking. I managed a Spanish translation, sheerly due to the fact that I still remember at least some of what I learned in high school Spanish class. But I’ve included the .pot file in the /languages directory. If you want to give it a shot, be my guest. If you send me your finished translation, I’d love to include it.


[accordion title=”Older Revisions”]


  • Initial release


  • Fixed playlist edit screen so that queued songs fall to the bottom of the list to maintain play order
  • Reduced the size of the content field in the playlist post type
  • Some minor formatting changes to default templates
  • Added genre highlighter to the master programming schedule page
  • Added a second Update button on the bottom of the playlist edit page for convinience.
  • Added sample template for DJ user pages
  • Fixed a bug in the master schedule shortcode that messed up the table for shows that are more than two hours in duration
  • Fixed a bug in the master schedule shortcode to accomodate shows that run from late night into the following morning.
  • Added new field to associate blog posts with shows


  • Fixed thumbnail bug in sidebar widgets
  • Added new widget to display upcoming shows
  • Added pagination options for playlists and show blogs


  • Fixed some minor compatibility issues with WordPress 3.5
  • Fixed Shows icon in Dashboard


  • Fixed a major bug in the master schedule output


  • Fixed a bug in the DJ-on-air widget
  • Fixed show select list for show blog posts


  • Added the ability to assign any user with the edit_shows capability as a DJ, to accommodate custom and edited roles.


  • By request, added as 24-hour time format option to the master schedule and sidebar widgets.


  • Fixed a time display bug in the DJ On-Air sidebar widget
  • Fixed a display bug on the master schedule with overnight shows


  • Fixed issue with shows that run overnight not showing up correctly in the sidebar widgets


  • Fixed a scheduling bug in the upcoming shows widget
  • By popular request, switched the order of artist and song in the now playing widget


  • Changes to fix the incorrect list of available shows on the Add Playlist page
  • Removing Add Show links from admin menu for DJs, since they don’t have permission to use them anyway.


  • Fixed a bug that was preventing sites using a non-default table prefix from seeing the list of DJs on the add/edit show pages


  • Compatibility fix for WordPress 3.6


  • Fixed issue with templates copied to the theme directory not overriding the defaults correctly
  • Fixed incorrectly implemented wp_enqueue_styles()
  • Removed deprecated escape_attribute() function from the plugin widgets
  • Fixed some areas of the code that were generating PHP notices


  • Fixed a bug in the CSS file override from theme directory


  • Master schedule shortcode now displays indiviual shows in both 24 and 12 hour time
  • Fixed some areas of the code that were generating PHP notices in WordPress 3.6
  • Added example of how to display show schedule to single-show.php template
  • Added more options to the plugin’s widgets
  • Added new options to the master-schedule shortcode


  • Compatibility fix for WordPress 3.6 – fixed problem with giving alternative roles DJ capabilities
  • Fixed some areas of the code that were generating PHP notices in WordPress 3.6


  • Fixed master-schedule shortcode bug that was preventing display of 12 hour time


  • Fixed a bug with shows that start at midnight not displaying in the on-air sidebar widget.
  • Switched DJ/Show avatars in the widgets to use the featured image of the show instead of gravatar.
  • Updated show template to get rid of a PHP warning that appeared if the show had no schedules.
  • Fixed some other areas of the code that were generating PHP notices in WordPress 3.6
  • Added CSS classes to master program schedule output so CSS rules can be applied to specific shows
  • Added new attribute to the list-shows shortcode to allow only specified genres to be displayed


  • Plugin modified to allow for internationalization.
  • Spanish translation added.


  • Fixed some localization bugs
  • Added French translation (a big thank you to Dan over at BuddyPress France – http://bp-fr.net/)


  • Fixed some localization bugs
  • Added Albanian translation (sq_AL) (thank you to Lorenc!)


  • Added Serbian translation (sr_RS) (thank you to Miodarag Zivkovic!)


  • Fixed some PHP notices that were being generated when there were no playlist entries in the system.


  • Added the ability to override the weekly schedule to allow one-off events to be scheduled
  • Added a list format option to the master schedule shortcode
  • Added Italian translation (it_IT) (thank you to Cristofaro Giuseppe!)


  • Bug fix: Some of the code added in the previous update uses the array_replace() function that is only available in PHP 5.3+. Added a fallback for older PHP versions.


  • Minor PHP warning fixes


  • Major code reorganization for better future development
  • PHP warning fix
  • Enabled option to add comments on Shows and Playlists
  • Added option to show either single or multiple schedules in the On Air widget


  • Bug fix: Fixed PHP error in Playlist save function that was triggered during preview
  • Bug fix: Fixed PHP notice in playlist template file
  • Bug fix: Fixed PHP error in dj-widget shortcode


  • Bug fix: Scheduling issue with overnight shows fixed


  • Compatibility fix: Fixed a jquery conflict in the backend that was occurring in certain themes


  • Master Schedule bug for shows that start at midnight and end before the hour is up fixed.


  • Fixed an issue with some shows displaying in 24 hour time on master schedule grid even though 12-hour time is specified
  • Fixed a bug in the On-Air widget that was preventing shows spanning two day from displaying
  • Added code to enable theme support for post-thumbnails on the “show” post-type so users don’t have to add it to their theme’s functions.php file anymore.


  • Master Schedule now displays days starting with the start_of_week option set in the WordPress General Settings panel.
  • Fixed issue with shows that have been unplublished still showing up on the master schedule.
  • Fixed missing am/pm text on shows that run overnight on the master schedule.
  • Fixed an issue with shows that run overnight not spanning the correct number of hours on the second day on the master schedule.
  • Fixed problem in Upcoming DJ Widget that wasn’t displaying the correct upcoming shift.


  • Fixed scheduling bug in shortcode function


  • Fixed the display of schedules for upcoming shows in the widget and shortcode.
  • Fixed a bug in the dj_get_next function that was causing it to ignore the beginning of the next week at the end of the current week.


  • Fixed broken upcoming show shortcode.
  • Added ability to display DJ names along with the show title in the widgets.


  • Fixed role/capability conflict with WP User Avatar plugin.
  • Added the missing leading zero to 24-hour time format on the master schedule.
  • Fixed dj_get_current function so that it no longer returns shows that have been moved to the trash.
  • Fixed dj_get_next function so that it no longer ignores the “Active” checkbox on a show.
  • Added some CSS ids and classes to the master program schedule list format to make it more useful.


  • Russian translation added (Thank you to Alexander Esin for the file!)


  • Fixed a bug in the master schedule shortcode


  • Added the ability to display show avatars on the program grid.
  • Added the ability to display show description in the now on-air widget and short code.


  • Fixed issue on the master schedule where genres containing more than one work wouldn’t highlight when clicked
  • Added ability to display DJ names on the master schedule.
  • Fixed bug in the Upcoming widget.  Override Schedule no longer display as upcoming when they are on-air.
  • Verified compatibility with WordPress 4.0


  • German translation added (Thank you to Ian Hook for the file!)


  • Minor revisions to German translation.
  • Fixed a bug that was resetting custom-sert role capabilities for the DJ role.


  • General code cleanup, 4.1 compatibility testing, and changes for better efficiency.
  • Bug fix – Fixed issue with early morning shows spanning entire column in the programming grid shortcode
  • New Feature – Master programming grid can now be displayed in div format, as well as the original table and list formats.



  • Bug fix – Fixed day of the week language translation issue in master schedule shortcode
  • Bug fix – Added some error checking in the sidebar widgets
  • New Feature – Added ability to give schedule overrides a featured image
  • New Feature – Added built-in help page


  • Compatibility fix for WordPress 4.3.x – Updated the widgets to use PHP5 constructors instead of the deprecated PHP4 constructors.
  • Catalan translation added (Thank you to Victor Riera for the file!)


  • Added method for displaying schedule for only a single day (see readme section for the master-schedule shortcode for details).


    • Nikki Blight says:

      I’m not quite sure what calendar you’re talking about. The shows aren’t scheduled by calendar date. As soon as you delete one of the schedules on the show edit page, that time slot is no longer available to the master schedule, so the show won’t appear in that time slot.

      If there is more than one schedules attached to a show, then yes, it will continue to appear on the master schedule until those schedules are removed.

  1. Alex says:

    i would like to know how to change the display to 24 hours. in the program code, I found a section:
    switch to 24-hour time
    but I do not know how I tcan activate it.
    Also would be interested if it is possible to remove am/pm in because we are a German webradio 🙂

  2. Becca says:

    I really like this plug in, thanks!

    I am however having a couple of issues…

    I want to display the current ‘on air’ show. However using
    (and corresponding attributes) in my template doesn’t work. It just shows a blank space where that info should be.

    The other thing is we want the master schedule to start at 7am rather than midnight. I altered the display times, which worked, sort of. But doing this obviously then displays that day’s early morning (midnight-7am) after the rest of the day. Is there any quick way to get round this?


  3. Great plugin!
    However when I click on a show, the page always generates a 404 error. I’ve tried copying single-show into my theme directory (along with all the others for good measure).
    Any suggestions?

  4. Alex says:

    thanks for the endorsement to the newer version.

    now I have more problems
    the widget should be show, if none show and dj is given, the defaultdj, but here it shows the selected time.12 or 24 hour.
    with the short code it does work in a post but not in the sidebar

    The second problem is that our schedule attaches after the input of the first show, the second show right of the table.
    here you can see what i mean:
    user and pass are demo!

    I hope you can understand me.

    • Nikki Blight says:

      The widget will be fixed in the next version (which will be available later today).

      I’m not sure what’s going on with the schedule, but I’m guessing that it’s a bug in the table generation script. I’ll look into it.

  5. Louise says:

    issue with 12:00 & 0:00
    dj commencement time 0:00 (am) – to work with on air widget but to work with the master schedule has to be 12:00am
    therefore have to start 11:59 previous day

  6. Gerrit Hurkens says:

    Hello Nikki,

    Great work! Good plugin.

    It seems that only the widgets don’t show a scheduled show anymore. I have assigned a DJ to a current on air show and activated that show (of course shifts were added).
    The show comes up in the master schedule,but doesn’t in the widgets (coming up and current onair)
    What am i doing wrong?

    • Nikki Blight says:

      Version 1.3.6 fixes an issue with shows that run overnight and into the next morning.

      Can you let me know if that fixes the problem you’re seeing? And if not, can you tell me what times you’re scheduling the show for so I can try to recreate it on my own site?

      • Gerrit Hurkens says:

        Thanks Nikki for your fast response! It works now! Great work!

        May I add something to the wish list?

        A selectable option in the widget to display the DJ who runs the show.

        Don’t make a run for it, but woould be nice to have that added. I Also altered the master schedule php code so that is won’t display the shownames as links, for I am using separate pages with independant layouts to do that.

        Great work Nikki, the plugin runs great and saves a lot of work!

  7. Sergio says:

    It´s a great plugin and I will implement it in the page I am making for a costumer, however this page is in Spanish and it would be great to implement multi language support for upcoming releases.
    meanwile I would try to translate .php files messages by myself.


  8. Scott says:

    Thanks for the great plugin – just trying to implement it! from your FAQ’s —

    “Why don’t any users show up in the DJs list on the Show edit page?

    You did remember to assign the DJ role to the users you want to be DJs, right?”

    Yes, I did this, tried adding more users with the role, etc… but I am missing something here.

  9. Liz says:

    Hi Nikki. I have echo do_shortcode(‘[show_link]’); in my header.php and it is not displaying the current show. Just [show_link]. Is this still a valid shortcode?

  10. John says:

    Great plugin! However, after adding users with the role of ‘DJ’ they do not show up in the DJ List under Edit Shows. I’m using WordPress 3.5.2

    Any clue?

  11. Ram says:

    Hello, Same problem with DJ’s for me. I cannot add them to show pages. They do not display in the list in the admin area.

    I have checked and doubled checked, 2 users are assigned DJ roles.

    I have checked the user role setting by using the members plugin that you recommend, all seems well there.

    I have tried to assign all different roles to see if it was assigned to another role by mistake, no joy

    I have de and reactivated my plugins in various orders then tested, no luck.

    I am using TML – theme my login. your radio station plugin, and the members plugin you recommend.

    WP 3.5.2

    Any thoughts?

  12. Johnny says:

    I think in order to re create the problems, other plugins play a big part in it. I notice it happening to me but I have some bulky plugins like woocommerce that are probably playing a role in the conflict

  13. Nikki Blight says:

    Anyone who was experience a problem with seeing the list of DJs in the add/edit show page:

    Version 1.3.9 will hopefully fix this issue. I traced the problem (with some much needed help from commenter Ram above who let me poke around on his site to see what was going on) back to the WordPress table prefix.

    Long story short, if you installed WordPress using a non-default table prefix (s4fh81_ instead of wp_, for the sake of example), information that is usually stored in the usermeta table with the key “wp_capabilities” ends up stored under the key “s4fh81_capabilities”… something I was not aware of until now. 🙂

    • Ram says:

      Hi Nikki,

      I have just upgraded to 1.3.9, all working now, thank you very much!

      That was a really professional response and solution for a plugin you are providing for free, I’m very impressed!

  14. Mike says:

    Hi Nikki,

    Awesome plugin. One issue though. I cannot get template/css files to load from the theme directory. I went over the radio-station.php file and the get_stylesheet_directory_uri function seems to be correct but templates/css are still loading from the plugin templates folder.

    I’ve tried on a local and a live install using multiple themes and child themes and cannot get anything to load except from the plugin folder.

    I haven’t seen any reported issues so hopefully you can shed some light on this. Thanks again for an outstanding plugin.

  15. Mike says:

    Just noticed one more minor bug. The master schedule displays only 24-hour time format regardless of shortcode. I set the individual shows to display in 12-hour format and they display that way on the schedule. The timeslots on the schedule are in 24-hour format though.

    Nothing major. I could set the shows to display in 24-hour format in necessary. Just want to keep everything the same.

  16. FPRN says:

    Hi, even after the update, I am still not able to change the hour format to 12 with the shortcode. One other question. Is there, or will there be in the future, a way to color code the time blocks to make it easier to pick out the same shows airing throughout the week?

  17. Mike says:

    Hi Nikki. I have not been able to add any custom radio capabilities to any role. I’ve tried with both the Members and the User Role Editor plugins. Even adding capabilities to the default DJ role has no effect.

    Example: I created a new user role so that I can have a user with editing access for all shows but without giving an admin role. I enabled all radio station capabilities to the new role but did not have anything but read access to shows.

      • Mike says:

        Been testing all morning, WP 3.6 and 1.4.4 of the plugin and all seems fixed.

        The site it is live on is http://ndbmedia.net if you’d like to check it out. It’s not a single radio station but a group of internet radio shows so I had to adapt it. The only issue I’m struggling with is having more than one show in a single timeslot on the schedule doesn’t work. Probably use a calendar plugin and enter the show times manualy.

        Thanks again, Nikki.

  18. Fausto says:

    Last version sucks.
    downloaded, installed .. then: “Warning: opendir(/web/htdocs/www.taxicattolica23.it/home/wordpress//wp-content/plugins/radio-station/tmp/): failed to open dir: No such file or directory in /web/htdocs/www.taxicattolica23.it/home/wordpress/wp-content/plugins/1.4.5/radio-station.php on line 232 Warning: readdir() expects parameter 1 to be resource, boolean given in /web/htdocs/www.taxicattolica23.it/home/wordpress/wp-content/plugins/1.4.5/radio-station.php on line 233 Warning: closedir() expects parameter 1 to be resource, boolean given in /web/htdocs/www.taxicattolica23.it/home/wordpress/wp-content/plugins/1.4.5/radio-station.php on line 239
    Export Playlists”

  19. Guy says:

    Thanks for the great plugin. I still have a problem with a show from 00:00 am till 01:00 on monday. If I put it from 12:00 am till 01:00 it doesn’t show up in the now playing dj widget/shortcode but I can also not select 00:00 am. Get my point. Thanks in advance.

  20. Two Questions:

    1) What is the license software? MIT, GPLv3, Apache?

    2) Exists public repository, I’m making some changes I need in the plugin, and I would like to send the changes. if your not used public repository: I can create a public repository on github with the project?


    • Nikki Blight says:

      1) GPL2, same as the WordPress software itself.

      2) The only repository that exists is the one on WordPress.org. My plugin doesn’t have a public repository. You’re welcome to create your own branch of the software on GitHub, though.

  21. Mike says:

    Hi Nikki. Just noticed one other small issue. The master schedule displays hyperlinks of all genres that have a show on the schedule. Clicking on any of these highlights all the shows on the schedule instead of just the selected genre.

    Thanks again. This plugin is awesome.

  22. Michael says:


    Just installed this plugin on a clients website. WordPress 3.6.1 & plugin 1.4.6

    Where is the option to create shows? I’ve been right through all of the menus. I’ve added a new user and they have the DJ role set.

    Many thanks

    • Nikki Blight says:

      It should appear as a “Shows” tab immediately underneath the “Posts” and “Playlists” tabs in the left side menu of the admin view (assuming you don’t have other custom post types created by other plugins/your theme).

  23. Deke Rhinehart says:

    I thinking I must be missing something and just can’t figure it out. I was interested in your plugin for the Now Playing widget. I’m curious as to where I input my song feed url in order to take advantage of this widget. Any help would be appreciated. Thanks!

  24. Kswift says:

    Hi, thanks for such an amazing plugin; I had looked for something like this a couple of years ago and didn’t find any. Will use this on a radio station website.

    My question – and I see someone else asked something similar; I need the sidebar widget to display the users/deejays as in ‘hosted by’ on the show page.

    Is there a quick code hack for that? I tried to copy the code from the show page to the widget, but I guess this part only works on the actual show page and not in a widget:

    $djs = get_post_meta(get_the_ID(), ‘show_user_list’, true);

    • Nikki Blight says:

      get_the_ID() is a wordpress function that needs to execute within The Loop in a template. If you wanted to use that line of code in the widget, you would need to specify the ID of the show being requested. In the case of the widget, it would be:

      $djs = get_post_meta($dj->ID, ‘show_user_list’, true);

      Then you can format it similar to the way the show page template does:

      $djs = get_post_meta($dj->ID, ‘show_user_list’, true);

      $count = 0;

      if($djs) {
      foreach($djs as $dj) {
      $count ++;
      $user_info = get_userdata($dj);

      echo $user_info->display_name;

      if( ($count == 1 && count($djs) == 2) || (count($djs) > 2 && $count == count($djs)) ) {
      echo ' and ';
      elseif($count 2) {
      echo ', ';
      else {
      //do nothing

      • Kswift says:

        Thank you, that worked perfectly well!

        One other nice ‘hack’ may be to only show the times of the current slot instead of its full programming in the widget. For example our daily breakfast show, while it plays, would only show ‘7.00 – 10.00’ instead of its full weekly schedule. This may be useful for listeners who just bumped into the show and want to know until when they can listen.

        • Jason Jordan says:

          Can I bump this one?

          I love love love the plugin but there’s a couple of things that’d make it perfect.

          In the dj-widget and the dj-coming-up-widget, In addition to the Show Name, I’d like to see which DJ is presenting the show and the times the show is on between that session (not the full schedule for the week)

          In other words it’d say something like:
          MUSIC HITS
          with JASON JORDAN
          4pm – 6pm

          The other cool feature would be a way to say a particular show is on
          6pm-9pm Weekdays
          rather than identifying every individual day.

          But this really is a cracker of a plugin. Well done!

          Cheers, Jason

  25. Paul says:

    Hi Nikki, Great Plugin! I was wondering if there was a way to create a supplemental schedule that would display in place of the master schedule for a defined day and time period. For example, when there is a local sporting event or special broadcast on a certain day only? Thanks

  26. Leonard says:

    I like the plugin, very nice. I do however have a couple questions:

    — What is the purpose of the custom post type “Air Staff Members”? The reason I ask is because the On-Air widget is tied to the schedule and that is in itself a custom post type.
    — How is the Now Playing suppose to work?

    Thanks in advance for your answers 🙂

    • Nikki Blight says:

      There is no such post type in this plugin. All on-air staff are regular WordPress users that have been given the DJ role. DJs are then assigned to the Show post type so that one show can have multiple DJs.

      If you’re seeing a post type called “Air Staff Members”, it’s coming from a different plugin.

      As for the Now Playing, it picks up the most recent song that has been entered as part of a playlist and displays that information.

      • Leonard says:

        My bad, you’re right it was a different plugin that creates custom post types.

        So the is the Now Playing widget that comes with the Radio Station plugin different than your Playlist217 plugin?

        • Nikki Blight says:

          Yes. The Now Playing widget relies on manual entries made through the WordPress interface. It’s not an automated process.

          Playlist217 is a plugin I wrote to replicate the functionality of an earlier site that was being redone in WordPress. It takes playlist entries via URL parameters and saves them in the WordPress database. It’s basically meant to act as a bridge between a dynamically generated playlist (for example, from a ShoutCast stream) and WordPress, and would require a script on the ShoutCast server (or whatever streaming software you’re using) to send an HTTP Request with the currently playing song title and artist to the URL the plugin is configured to receive data on.

          It’s sort of provided as-is at this point, since I no longer work for the company I designed it for, and they haven’t asked for any maintenance on it.

  27. Igor says:

    sap great plugin i love it but i have some info for u as dev

    1st can u make option for users when they click on Avatar of DJ 2 show theres portfolio like what clubs they was workin what kind of music they stream ect..

    2nd is there way to gat direct skipe or msn or somethin 2 directly contact each dj that have show in time 2 forece interaction DJ listener.

    3rd if u need any1 2 test u can contact me on my site forum at any time.

    good day

  28. Dionysios says:

    Great plugin!! Love it…
    Just one question/request if I may….
    Is there a way to automatically refresh the widget to display the current dj without the need of refreshing the whole page?


    P.S. Already started translating it in Greek. Will send you the translation. Also, if you have the pot file for any new updates, you can send them to me…

  29. Hi Nikki,

    Great plugin, thanks for the all the hard work!

    I think I found a wee bug with the current DJ on-air widget and shortcode. The dj_get_current() function fails to pick up DJs who are on over midnight, for example 11pm-1am. The shift displays correctly on the master-schedule but after midnight the current DJ defaults to “RadioBot”.

    Does this look like a bug, or am I doing something wrong here? What does the “Encore Presentation” checkbox do?

    Thanks in advance.

    • Nikki Blight says:

      Thanks for the report. I’ll look into it.

      The encore presentation checkbox just marks a broadcast as an encore (i.e. a rerun of an earlier broadcast). It’s only real purpose is to allow you the option of styling encores differently in the master schedule.

  30. Mike Rawlins says:

    Hi Nikki,

    Loving this plugin. One thing I’ve noticed is that my next scheduled show in the widget is showing next plus 24 hours for some reason.

    Example it is Wednesday currently my next show in the schedule is 0800 -1000 on Thursday but the widget is showing it as Friday 0800 – 1000

    I’m using standard date and time settings, I’ve tried setting the time as UTC+1 and as location to see if anything changes but it is still the same. Any ideas?

      • Mike Rawlins says:

        Hi Nikki,

        Sorry for the delay in responding.

        yes the show is set for 0800 – 1000 Monday through Friday.

        It’s only on a test site at the moment and I’ve not seen the error since I posted the issue. I’ll keep an eye on it as I build the site and proper schedule and come back to you if it is still apparent 🙂

  31. Ofed says:

    hi Nikki,

    I wish to use your plugin to setup a radio station on my site. I am a beginner so pls. pardon me.

    My challenge is how to setup different shows, upload the relevant media/playlist for each show and have them play automatically to visitors to the site (according to the schedule only, whether on-air or off-air).

    Pls. how do I go about it?

    • Nikki Blight says:

      This is out of the scope of my plugin. Radio Station only provides an interface to create and display a schedule, and create a manually generated playlist archive. It does not handle the actual upload and streaming of media.

  32. José Luis says:

    Dear Nikki:

    First of all thank you for your work on “Radio Station”. We have installed in our wordpress latest version and start day of the week in the General preferences is set to “Monday”. I want to say that programs that have repeats every day of the week (and only these) when the “Friday” arrives Friday freezes, even Saturday or Sunday. If Monday delete repetition of “Friday” and insert back to return everything to work perfectly until the following Friday arrives. You know how we could fix this?.
    Waiting for your reply we will send you a big hug,

    José Luis Mateo

  33. Chris says:

    Hi Nikki, What a great plugin, everything works great and easy to use. But i do have one query – when putting the up and coming link into my page to show the next say 4 shows that are due. It seems to list the schedules of these shows (if they are on a few times a week) in alpha order rather than date – time order. I have a show which if the breakfast show on everyday of the week but now being Monday. the one that shows for tomorrow in the right place as far as the list of shows are concerned it just pulls through Firday 06:00am till 10:am rather than Tuesdays show? Have double checked to make sure that all the show times are listed and saved but seems to be happening with a few like the through the night one as well. Please advise if possible
    Many Thanks Chris

  34. Phil says:

    Great plugin Nikki! I’m so glad to have found it for our non-profit broadcast in Northern Canada.
    I’m having some trouble with the program schedule function though. Any show that is in the AM automatically jumps to Midnight +1 day position as well as the correct show time. My time and date settings are correct in WordPress, any ideas?
    Thanks in advance, and once again I can’t wait to launch our site with your plugin.


  35. Dave says:


    I Love your plugin. one thing I was wondering is how do I change the link for a show so instead of going to show/dj it goes to their artist page, which is at artists/dj

    Any help would be appreciated

  36. paul says:

    Hi Nikki love the plugin, we’re just having one small issue with the latest udate; the ‘Current Show / DJ’ widget is showing the current show’s name 16 times in a row!! I’ve checked every other part of it and it all seems to be OK, without any doubling up anywhere else… any ideas??

    • Nikki Blight says:

      Are you certain this began after the most recent update? I’m not sure how that’s possible, since none of the current show code was altered. All of the changes had to do with the upcoming show code, which never interacts with the current show code.

      Could you possibly send me a screenshot or link to your schedule so I can take a look?

      • paul says:

        Hi Nikki

        It must have just been a coincidence that it started with the latest update, and I still don’t know what happened – but I deleted that show and added it again, and now it’s just showing a single result like it should.

        Which brings up the next issue.. I need the master schedule to start at 8am and go through to midnight. Is there an easy way to remove the midnight – 8am slots from the schedule? I looked into using CSS but the table rows don’t have individual ID’s to differentiate them, so I assume I have to mess with the master schedule php file..

        thanks again! P

        • paul says:

          Wait, I found it – if anyone else needs to do this, look at line 50 of the master_schedule.php file :

          $master_list = array();
          for($i=0; $i<24; $i++) {

          ..change the 0 to, say, 7 to show 7am – midnight only.

          Also, I've found another little issue; the genre tags only seem to work with the master schedule if they are a single word- eg, 'hiphop' will work, and highlight the right shows, but 'hip hop' won't.

          • paul says:

            update: the Genre tag will work as long as it doesn’t have any spaces or certain characters, eg the & symbol. (This applies to the Name field, not the Slug..)

  37. Thanks Nikki for such a great plugin! Nikki, I’ve finished some major changes in my schedule and now the schedule shown on TuneIn radio is no longer correct. They’ve asked me to submit a spreadsheet with my new schedule. Is it possible somehow for me to generate a spreadsheet from your plugin, or any ideas short of a manual entry?

    • Nikki Blight says:

      Unfortunately, that’s not a feature at this time.

      Honestly, unless you’re proficient enough to write a custom php script to pull it from the database, manual entry may actually be the easiest way to do it.

      Though Excel is typically pretty good with data copy/pasted from websites. You might be able to get away with copying the programming grid table and pasting it into excel.

  38. francesco says:

    Here I am again… I cannot find where it is possible to select 24hours format… Btw I’m trying to use this plugin for a TV Scheduling not for a radio show…. 😉

  39. francesco says:

    if I set a show that has a beginning and an ending time both in “AM”, it is spanned to next day. I have to set “PM” as ending hour if I don’t want to see it spanned…

    eg, 7:00am to 7:30am it is alway spanned while 7:00am to 7:30pm not.

    See this screenshot:

    Is there a way to have the 24 format ALSO in back office administration?


    BTW, I’ve found where to set 12/24 mode. I don’t know why I’ve thought it should have been placed in backoffice instead of php file

      • Francesco says:

        I’ve just added the following condition when the script do the check in master_schedule.php at about line #119… don’t know exactly because I’ve done some changes:

        && ($time[‘time’][‘start_min’] >= $time[‘time’][‘end_min’])))


        //if it ends after midnight, fix it
        if( ($time[‘time’][‘start_meridian’] == ‘pm’ && $time[‘time’][‘end_meridian’] == ‘am’) ||
        (($time[‘time’][‘start_meridian’] == ‘am’) && ($time[‘time’][‘start_hour’] >= $time[‘time’][‘end_hour’])
        && ($time[‘time’][‘start_min’] >= $time[‘time’][‘end_min’]))) {

    • Nikki Blight says:

      If you look at the radio-station/templates/single-show.php file, there are HTML comment lines that read “custom show output : This portion can be edited or inserted into your own theme files” and “/custom show output”.

      Everything between those two lines is specific to the plugin. Everything outside of those lines is specific to the theme.

      Probably the easiest way to modify it is to make a copy of your theme’s single.php and rename it single-show.php. Then take the code from between the two comment lines in the plugin’s single-show.php file and use it to replace whatever happens to be in the content area of you theme’s version of the template file.

  40. byron says:

    again like every one else great job. i searched a little for this kind of solution and it seems your are a world wide first choice.

    my issue may be something i could find somewhere else, but you know your work better.
    my question is :
    i have a page with all djs avatars and i would like to link theme to the show or shows they host.
    for now it links to there posts by this function in my template

    thanks by advance

  41. byron says:

    very very sorry i was wrong i meant

    a function that would link to users shows they host
    instead of post they have published.

    thanks by advance

    • Nikki Blight says:

      At the moment, no. The closest thing available in the current version of the plugin would be the [list-shows] shortcode. It displays a list of all shows, and a link to their page, but does not display the djs assigned to those shows.

  42. Francesco says:

    Ciao Nikki and everybody here,
    I was wondering if there is a way to have a different hours distribution during day scheduling… I mean: it would be helpful to have night shows listed in their “previous” days.
    EG: If I have a show that starts at 01.00 of Tuesday, I would like to see it listed in Monday’s Schedule, after 23.59…

    Actually I would have all the show listed in the same day until a fixed (even better settable) hour or til the show flagged as “last of the day”….

    I don’t know if I have explained it well with my poor English (Sorry)

  43. Dee says:

    Hello Nikki I was wondering do you have a video out on this plugin? when I click on the dj show I get an error 404 and also do you have an example of what the plug in should look like or a page of someone that is using this plugin just as a example because I am kind of confused.

  44. Paul says:

    Hi Nikki, Thanks again for adding the one-off event feature. I may be the only one using it for my station but thanks again! A couple of things though, I noticed when I schedule a one-off event it displays correctly in the coming-up-next widget until the event is on the air, then it is shown in the on-the-air widget, but it also is still displayed in the coming-up-next widget. Any chance to have the coming-up-next widget display the next show after the one-off event? Also, could you add a featured image option to the one-off event section? Thanks again for this wonderful plugin!

  45. Hi. I’d like to use this plugin on the revamped Website I am building for WETD 90.7 FM. I wanted to move the site from Drupal to WordPress and thought this plugin might be a good fit for the site. However, I have one technical question: how can I import playlists automatically from a site like RadioActivity.fm or even a file on a server? Our station DJs log all of the music played on their shows to RadioActivity.fm, which completes our record keeping requirements for the FCC, and I am wondering if these logs can just be imported into your plugin as playlists for the shows to which they pertain. Is this possible? I am well-versed in PHP and MySQL and don’t mind doing a bit of hacking/coding to get this to work if it is possible. Thanks!

    • Nikki Blight says:

      It would certainly be possible… playlists are just WordPress posts with a post_type of “playlist” and some metadata fields in the postmeta table. You could insert them into the database the same way you could insert any other WordPress post.

      includes/post_types.php is where all the plugin handles data entry for playlists… I would start there, and use that as a reference.

      • Hi Nikki,

        Thanks for your reply. Looking further at the playlists functionality in your Radio Station plugin, I think I’m a little confused about them. Let’s say I am running a radio station with three DJs and an automation system that plays when none of these DJs are on the air. All three DJs log their music to RadioActivity.fm, and so does the automation system (auto DJ). Now, let’s also say that on my station’s Web site I want to display a “daily master playlist” containing the currently playing song as well as the songs played in the last 24 hours. Would the playlists functionality of your plugin accomplish this, assuming I was able to pull in the song info from RadioActivity and add it to the database using your playlists format? What if one or more DJs were on the air in the last 24 hours, along with of course the automation system? Would this require separate playlists for each DJ’s show as well as a playlist for the automation system, and if so how would they be combined into one master playlist?

        I guess I’m just looking for a way to let Website visitors view a master playlist of everything played within the last 24 hours, and allow them to select a date range as well, e g. last week, last two weeks. It would be nice if each individual show could have its own playlist, but these playlists would of course only be filled with songs the DJs played on their particular show.

        Is there a way I can associate a show with a playlist rather than associating a playlist with a show? For example, right now, from what I can see from my exploration of your plugin, it seems I have to first create a show, then create a playlist and select the show to which that playlist belongs. But is there a way I can just create a show and have a playlist automatically attach itself to the show, or be a part of the show? That way I know I have the same number of playlists as I do shows, there are no rogue playlists, and everything is attached.

        Finally, I looked at includes/post_types.php and was a bit confused by it. While I’ve been learning PHP for a few years now there is still a lot I can learn. I’m OK with pulling in song title, artist, album, etc. from RadioActivity and also pulling in the ID from RadioActivity of the show this information belongs to, but how would I go about matching that ID to the ID of the corresponding “show” in your plugin, and then populating the attached playlist of the show with the information pulled from RadioActivity?

        Thank you so much for answering my questions and I’m sorry if this was a long post. I really like your plugin and hope I can extend its functionality by integrating it directly with RadioActivity.fm.

        • Nikki Blight says:

          I think, if it were me doing it, I would start by simply make the automated system it’s own “show” on the site, in order to save playlists that were used while it was on the air.

          Each DJ or show would have its own set of playlists (because that is how the plugin determines who played what)… but playlists are just metadata, so they’re fairly easy to manipulate via PHP. My plugin doesn’t use a running playlist (where shows would just keep adding songs to the first playlist they create… though I suppose there’s really nothing stopping someone from doing that). Each time a show is broadcast, it is expected that a new playlist will be created for that specific airing.

          So that in mine, any time you create a new playlist, you need to associate it with a show. I think my workflow would be something like…

          1) Check that the show exists in the database.

          2) If the show doesn’t exist, automatically create it.

          3) Get the value of the show’s ID field. This would either be available from the database match in step 1, or would be the ID that was just created in step 2.

          4) Create the new playlist. Get the value of the playlist’s ID field.

          5) Add the songs to the playlist (these live in the post_metadata table).

          6) Create the association between the show and the playlist in the post_metadata table where the post_id is the playlist’s ID field, the meta_key is “playlist_show_id” and the meta_value is the show’s ID field.

          Really, all you’re doing is writing code that creates WordPress posts (with a specific post_type) and post metadata with specific meta_keys that my plugin knows to look for.

          As for a master playlist… that’s not something I’ve coded for the front end, but in the backend, there is a playlist export function (station_admin_export() in the radio-station.php file). I think it would do pretty much what you’re asking… you’d just need to create a similar function that’s available in the front end and format the output for web display rather than file output.

          • Hi Nikki,

            So essentially you are saying that every time a show airs the DJ needs to create a new playlist for it? This makes sense, I suppose, and could easily be automated through the use of RadioActivity. Given what you said in your comments, I’m thinking the following workflow might be the best way to go:

            1. DJ creates his/her show in the plugin in WordPress. Let’s say this show airs once a week, Wednesdays at 9 AM.
            2. During the show, DJ manually logs music played to RadioActivity (or configures his broadcasting software for automatic logging).
            3. Not sure if RadioActivity supports this, but if it does, at this point I would have it alert a script on the WordPress side that the DJ’s show has begun airing.
            4. Script grabs show ID/name/etc. from RadioActivity and looks up associated “show” in WP plugin.
            5. Script creates new playlist and then polls RadioActivity every few minutes for new music logs, at which time it imports the songs into the playlist.
            6. Rinse and repeat for each “show” in the plugin that matches a detected show in RadioActivity.

            What are your thoughts on this?

            My overarching goal is that I don’t want DJs to have to log their songs twice in order to get a playlist to be visible on the Website. They already go to RadioActivity.fm, and we are already integrating RadioActivity into WordPress but I saw the “playlists” functionality in your plugin and thought this would be a great way to automatically create playlists based on RadioActivity logs. That way, the DJ starts their show, logs to RadioActivity, someone goes to the Website and sees this DJ on the air, they click link to playlist, and the playlist is right there, based on RadioActivity data but associated with the “show” from the plugin.

            What do you think?

            Can we perhaps chat off-site about this so as not to fill up this comments section? I’d really like to get this integration working if at all possible and make use of the playlists function in your plugin. My e-mail is the same as the one given when posting this comment.


          • Nikki Blight says:

            I think your workflow would work. It’s vaguely similar to something I did way back for a site (long before the Radio Station plugin existed) that accepted song info via a url and inserted them into a database. If you think that code might be helpful to you, the plugin was called Playlist217.


            You can hit me up via email, if you like. Might be easier than going back and forth in the comments. nblight (at) nlb-creations.com

  46. Ward says:

    Hi Nikki,
    I am trying to get the plugin working on my WordPress.org site but the show pages are not showing. Because my site is set up in a special way (WordPress URL and site URL are not the same) it keeps redirecting itself back and forth between the 2 url’s thus getting in an endless loop.
    Do you have any idea on how to fix this without changing the site’s setup.

    • Nikki Blight says:

      I would start by re-saving your site’s permalink settings (just go to the settings page and click save), to make sure WordPress recognizes that shows have their own url format.

      If that doesn’t fix it, I’m not entirely sure what to do. I’ve never had a wordpress site set up in the way you’re describing.

      • Ward says:

        Thanks for the response. It’s a strange set up I know (at least that’s not my fault 😉 )
        Resaving didn’t help. The strange thing is that using the ?post_type=show&p=number does work while /show/slug doesn’t.
        Since the strange set up is the cause (i suppose) I’ll go try talk with the hosting provider and the person who installed it…

        But i also have it running on a personal WP so I do know it’s a good plugin 😉

  47. paul says:

    Hi Nikki

    I’m still working on our new radio station site – I’ll send a link once it’s up and running – but I have one more question for you.

    We would like the Master Schedule to have the DJ’s name on it, under the show title and above the time. I have found the right place in master_schedule.php to add this (around line 392) but I can’t figure out the right php code. Copying it from the widget_djonair.php file doesn’t seem to do it – but I’m a complete n00b when it comes to PHP, so I’m probably just not grabbing the right bits!!

    Any chance you could please solve this one for me..?

    Love your work!!

  48. Tom says:

    Hi Nikki

    Just wondering whether you would be able to help me.

    I am probably being very thick (have had a long day!) but I am trying to set up a radio station website. I am using your excellent plug-in, but am just wondering…

    For the theme I have developed, I am just trying to extract the text from the plug-in showing the current “on-air” item. SO I would just need:

    – Presenter’s name
    – Avatar
    – On air time

    Is there a page with FAQs I have missed?

    If you could help at all I would be extremely grateful.

    Best Regards


    • Nikki Blight says:

      Probably the easiest way to accomplish something like that would be to copy the station_shortcode_dj_on_air() function from includes/shortcodes.php (lines 160 to 310) into your theme’s functions.php file, rename it, and modify it to output only the fields you need.

  49. Jay says:

    Hey! Love this plugin Nikki, but I am running into two bugs (or maybe I am just using it wrong!)

    First, the upcoming show widget is not showing the actual upcoming show. It is showing the most recently added show, and it is also showing the incorrect time for it. See my website homepage for an example of this bug. khdx.fm

    Additionally, the theme I am using uses a bkground image and then a separate area for the main body of posts/pages. Can you implement the ability to switch the background of playlists/shows to reflect the theme’s body color? The current way has my playlists and shows unreadable. See for example http://khdx.fm/home/?show=buns-of-brixton

    Thanks, I really appreciate this plugin.

    • Nikki Blight says:

      I would start by checking your site’s timezone settings. If those are incorrect, then everything about the schedule will be off. I watched the up-next box change over from Question Mark to Down in the Willow Garden (which is correct according to your schedule), so it’s definitely not pulling in the most recently created show. So I think your timezone is a few hours off. It’s showing the 4pm schedule at 10am.

      As for the background issue, you’re going to need to do some theme work. The plugin’s templates are based on TwentyEleven. If you’re not using the TwentyEleven theme, you’ll need to read the readme file and create a template file in your theme’s directory that matches the theme you ARE using.

      • Mike Rawlins says:

        Cool, thanks Nikki.

        Is there any easy way to have the same show with different presenters on different days?

        Mon AM show with Bob
        Tue AM show with Ted
        Wed AM show with Ted & Bob
        Thu AM show with Steve
        Fri AM show with Bob

        I could do this with creating different shows but that would add to the list of shows and make it messy.

  50. David says:

    I’m wondering if there’s a way to show a larger profile picture or DJ avatar? I’ve increased the size in the DJONAIR file to make them larger, but it cuts off some of the image. I’ve tried making the image size wider but all it does is stretch out the picture rather than showing more of it. Can you assist?

  51. Ash says:

    Hi there, great concept for a plugin. I’m building a new version of codesouth.fm and we wanted to use this plugin to manage the schedule. I’m using the DIVI theme by elegant themes as its so flexible. I would prefer to use the existing 70+ pages I’ve created for the DJ profiles as it has loads of customisation and specific page access for DJ’s to only edit their pages. I see you can have a website link when adding a show, ideally I would like to show the featured image, DJ name and then somehow link to that website you can specify in the add show section? Has this been done before as I can’t see where else the website shows up? Would realllllyyyy appreciate this, Im doing the site for free as a favour for a friend.

  52. Ellen says:

    Hi Nikki,
    I quite enjoy yout plugin.

    I just have a minor problem. When I click “More Playlists” I get a page with only the title “Playlist Archive” and the links “older posts” and “newer posts” but nothing seems to work. I have to click on a playlist and navigate through Previous and Next in order to see older playlists. Do you have any idea why that’s happening?

    Thanks in advance

    • Nikki Blight says:

      I’m not entirely sure, as I’m not seeing that behavior in my test site. It could be WordPress not recognizing the permalink for the playlists archive page. Try re-saving your permalink settings and see if it fixes it.

  53. Phil says:

    Hi Nikki.
    Your plugin has caught my eye, i recently purchased a theme called soundwave which i have set up on wordpress using a wamp server before i transfer it to a server.
    I have tried to use your plugin but the output are all messed up in the soundwave theme.
    Can this be intergrated together.
    Sorry it might be a silly question but im a newbie at this

    • Nikki Blight says:

      You will need to add your own CSS rules to integrate it with your theme. All output from Radio Station provides the necessary id and class names for styling.

      You will probably have to create custom template files for shows/playlists as described in the readme file as well.

  54. Marco Klinge says:

    We use your Plugin, and we’re really in love with it, but there’s one big problem.
    When I create a new Show and I put in the relevant information, like Day or Time, it does not show the right day in the sidebar widget. How can I fix that?

  55. graham says:

    hello – great plug in. just what we need.

    one question – are we able to use a short code or something similar to list all the shows from a genre? Expanding, we have a num bed of different genres, can we just show the shows from one particular genre – as opposed to showing all the shows?



    • Nikki Blight says:

      The easiest way, if your theme allows widgets in the header, is to just assign one of the Radio Station plugin widgets to the appropriate area.

      Alternatively, you can insert a widget directly into any template file with:
      echo do_shortcode(‘[shortcode]’);

  56. Paul says:

    Hey Nikki, Love the Plugin!! Our Station uses the Schedule Override quite alot. Any chance you could add a featured image to display along with the title in the on air and coming up next widgets? Thanks in advance.

  57. Hi Nikki, thanks for creating the radio station plug in. I have one problem, I did not add any DJ’s at start up and now I need to do that. How can I add DJ’s. I’ve tried deleting the plugin and re-installing but it seems to save the original content. Please help.

  58. Hi Nikki,

    I am interested in using the shows feature of your plugin. I have installed and setup shows that run in daily time slots. I am using the Show/DJ On-Air widget that comes with the plugin, but from what I can tell it seems like it is showing the show/dj upcoming instead of the on-air. Any reason that this might be happening?

    • Hi again,

      Please disregard my last comment. After some digging, I realized that I did not set the timezone setting to my local time for my site. Changing this corrected the display of the shows. Thanks for the great plugin!

  59. Dominik says:

    How can I use the 24 hour time format in the single show template? Wenn i use the 24 hour format in the single-show.php it shows me only the time as shown:
    00:00 – 11:59 (12:00)
    I can’t find the code for let me show the time from 0-24 as in the master schedule

  60. Sam Smette says:

    Hi Nikki,

    I am using this great widget. Thank you for creating it! On some occasions we have multiple programmes per hour, i.e. x2 programmes at 30 minutes each. However, the schedule will only display the first show and not the second. Is there a workaround or fix for this?

  61. Dav says:

    After activated, error line came up:Warning: Invalid argument supplied for foreach() in /home/showme/public_html/mywebsite.com/wp-content/plugins/radio-station/radio-station.php on line 204

  62. greg says:

    hi Nikki Blight i am building a radio website using your plugin please show a proper tutorial on how i will go about i have checked you tube but there is no video

  63. Hi i don’t know much about css or coding, but i want to know how ca i style the on air widget, i don’t know exactly where i have to copy the css in my theme directory, i put it with the rest of css files but nothing happens. Another thing is please take care about this excellent plug-gin because there is nothing like this in the market and there are many peoples looking for something like this, i would like to style mi dj on air widget for now. Thanks

  64. Gary Marks says:

    Can I just say…Top plugin. We use it on our site and (bar a few graphical updates we need to make) it does what it needs to do very very well. Thank you 🙂

    I have had a couple of questions but nothing that a quick flick through the documentation or this forum hasn’t solved. Again thanks a bunch!

  65. Ben says:

    I had an issue with the shows schedule times for current day displaying in the “on-air” widget.

    its just dosen’t display anything when multiple shows isn’t selected in the widget setting and I tested it $current_sched = station_current_schedule($scheds); in widget_djonair.php wasn’t returning anything , so maybe an error in station_current_schedule function.

    I made a work around but just though I would mention it, it could possibly be some sort of date issue on my end.

    But great plugin.

  66. Jeffrey V says:


    I’m having an issue with my schedule displaying in the page.

    My schedule doesn’t fit in your responsive view, so i’d like to switch list mode when I into mobile view

    Basically, I’d like to switch from list=”table” to list=”list” when I switch to the smallest resolution.

    Do you have a quick way to do so?

    Thank you and good work with the plugin!

  67. Roger Neale says:

    I love the plugin but I’m having a little problem with the schedule display.

    I used the shortcode [master-schedule time=”24″ ]
    For some reason the shows are showing on the wrong day.
    Monday is the first column but shows scheduled for e.g. Wednesday are showing in the “Tuesday” column.
    have checked the Timezone settings and that is showing correctly “London”, I’ve tried changing it and reverting back again but no joy.
    Any help appreciated
    Is there something I can do to correct this?

  68. You have a great plugin. I need to show 2 schedules for 2 stations which are in simulcast most of the day, but do seperate for several hours. I tried creating genres as each station but that didn’t work.IS there a way to have the plugin handle schedules for 2 stations?

  69. Mike Mlazgar says:

    I have been testing your plug in on my automated online radio station and I have a quick question. It seems that the playlist info needs to me manually entered. Does the Plugin automatically retrieve any song data from anywhere or is it all manual?

  70. olajide says:

    Hello, I am using your plugin radio station.. thanks very much for creating the plugin i really love it. but i just have one problem… the dj on air avatar is always blurry i cant figure out how to make it clear.

    need your help.. thanks

Leave a Reply