MSTW League Manager


  • Sample League Standings Table [shortcode]
  • Sample League Schedule Gallery [shortcode]
  • Sample League Schedule Table [shortcode]
  • Sample Team Schedule Table [shortcode]
  • Sample Locations(Venues) Table [shortcode]
  • Sample League schedule Slider [shortcode]


All the normal installation methods for WordPress plugins work. See the installation manual page for details.
Upon installation make sure your site’s WP default timezone is set correctly in the WordPress Settings->General screen.

NOTE: If you are using MSTW Leauge Manager Add-ons plugin, YOU MUST INSTALL VERSION 4.8 OF BOTH PLUGINS. If version 2.7 is working great for you, there is no need to update unless you really want to try one of the new items.


March 21, 2020
I have used this plugin as the framework to our conference’s sports website for going on 4 years now. It is easy to work with, looks professional and all of our parents and coaches love it. If you have a techie side and are comfortable with any kind of coding, it is also easy to follow to make some subtle changes to more adapt it to your needs. The support from the developer is second-to-none and he is always very receptive to suggestions. The add-ons available make this plugin even more powerful and it is at an extremely reasonable price. Highly recommended!
December 7, 2018 1 reply
I test others plugins and this is full. All the options are possible. And the service of creator is good.
September 6, 2017 1 reply
Hi Mark, I like this plugin, looks GREAT especial the project I’m working but I’m stuck with “No records found in league sasol-league.” What I might be doing wrong in here? Ta,
Read all 4 reviews

Contributors & Developers

“MSTW League Manager” is open source software. The following people have contributed to this plugin.


Translate “MSTW League Manager” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Minor upgrade to single game page for overtime games.
  • Allowed league managers to update records for their leagues (applies on to MSTW Add-ons)
  • Removed deprecated PHP functions from some of the code.
  • Corrected several minor bugs.


  • Restricted access to dashboard features that are not provided to users in Team, School, and League Admin Roles.
  • Added access control for Team, School, and League Admin roles in Manage, Add, and Update Games screen.
  • Controls in Game Manager to designate a game as an overtime game.
  • Filter button now displayed on the Edit Venues (list of venues) admin screen.
  • Upgraded the page template so single team schedules are properly displayed in all cases.
  • Fixed bug when a team not in a league is linked from a league schedule
  • Modified [mstw_team_schedule] shortcode, so the ‘league’ argument is deprecated. It’s no longer necessary. All the teams games for a given season are displayed.


  • Fixed minor (unlikely) start-up issues and MSTW League Manager Add-ons.
  • Cleaned-up a collection of (minor?) issues/bugs throughout the plugin, primarily related to ‘meets’.
  • Added a team scoreboard shortcode [mstw_lm_team_scoreboard].
  • Added Game Conference and Game Division to the Update Games admin screen.


  • Fixed a bug in the multi-team schedule. One that you might only see if you are using Schools the LM Add-ons plugin to populate team data.
  • Added code to support an ‘all-sports’ sport. This turns out to be important for sites with a large number of teams that show up in game schedules but are not tracked (schedules, standings, rosters, etc) on the site. This gets a bit complicated. If interested, more information can be found here.
  • Added admin support for a new “meets” custom post type and two shortcodes that include meets in league and team schedules. (Full meet support requires MSTW League Manager Add-ons Plugin.)
  • The layout of the schedule in the mstw_league_schedule_table shortcode output has been modified somewhat to better support “meets”. All the content and functionality remain in place.


  • Added a new multi-team schedule shortcode [mstw_multi_team_schedule], which behaves much like the multi-league standings and schedules shortcodes.Read more here.
  • Added support for BYEs. BYE games can now be created in Add Games and Manage Games screens, and then displayed in the shortcodes. Read more here.
  • Added the option to link game time/result to a media URL in the Settings screen, schedules tab. If there is a media link for a game, the link will be added and a media icon will be displayed in the time/result field. Read more here.
  • The team dropdown list for non-league games only displays teams that play the same sport as the game being modified. Read more here.
  • Corrected javascript; teams now display corrected when league in dropdown is changed (Add Games and Manage Games screens).
  • Corrected javascript; teams now display corrected when non-league game checkbox is changed (Add Games and Manage Games screens).


  • Corrected displays for “low score wins” setting across almost all front end displays. School sliders are still only show high score wins.
  • Changed the league ticker shortcode [mstw_league_schedule_ticker] functionality. (See the man page for details.)
  • Several minor bug fixes.


  • Added the capability to select all games on a specified date for a specified sport in the Update Games admin screen (in addition to league and season).
  • Fixed a bug with the date selector control on the Update Games screen (and others).


  • New multi schedule shortcode [mstw_multi_schedule_table]
  • New sport schedule table [mstw_lm_sport_schedule]
  • Added new fields for games: “Game Name”, “Status Replace”,and “Status Append”. These fields modify the game time/status/result blocks in all front end displays: schedule tables, tickers, sliders, and galleries, and the single game page.
  • Modified the way mstw_multi_standings_table ‘remembers’ the value of the selected league. It no longer uses cookies.
  • Fixed a bug with the Google Maps link images in the Venue Table.


  • Fixed bug that prevented more than 300 games from displaying properly in sliders and tickers.
  • A media icon (with link) can be displayed on schedule sliders, tickers, galleries, and scoreboards.
  • The display in the Media column when no media link is found, now defaults to a blank (rather than “No media found.”).
  • Added filters provide control over the message displayed when no media is found and when no location is found.
  • Added support for schools (organizations), from which team data may be imported.
  • Added support for sports, which may be assigned to schools.
  • Added filters to provide control over the display for gender, level, and season of Sports.
  • Added ability to link a team to a roster (from MSTW Team Rosters).


  • Nonleague games are now shown by default in all displays. So there is no need to use the show_nonleague=1 parameter. If you DO NOT want to show nonleague games, then set show_nonleague=0.
  • Games can now be marked as postponed in the DB and in the front end displays (shortcodes).
  • Fixed bug that prevented display of the media column’s data in schedule tables.
  • Minor clean-up of CSS stylesheets in a number of areas.


  • Added the framework to automatically update league standings from the league games that are marked final. (It is not necessary to update records with the Add-ons.)
  • Upgraded sorting of standings with two levels of tie-breakers (that actually work).
  • Paginated the Update Games screen to workaround WordPress limits on the size of (http) posts. (This also reduces the risk of web server timeouts.)
  • Added the ability to import a league’s games from a CSV file.
  • New data fields and display options for front end displays (shortcodes).
  • League sliders and tickers now display media icons with links when media is available for a game.
  • Added a /lang directory with a .POT file for translators
  • Fixed several bugs including sorting venues by venue group on the Venues screen.
  • Changed URLs to Protocol Relative URLs to prevent some problems with https based sites.


  • Two different League Schedule schedule/scoreboard scrolling views have been added. “Tickers” are a very concise view, for a banner on the main page say. “Sliders” present the same information in a larger format. See the examples on the MSTW dev site.
  • League standings table now supports columns for “Last Game” and “Next Game”
  • Home games are no longer automatically indicated with a ‘‘ in mstw_team_schedule shortcode table. A ‘star_home’ shortcode argument was added (which must be placed in the shortcode call). If star_home is not empty, the value is added after the opponent name for home games. For example, if star_home=’‘, an asterisk is added to home games. The home game format may also be changed via the tr.home-game css tag.
  • Added a ‘star_league’ shortcode argument for mstw_team_schedule shorcode (which must be placed in the shortcode call). If star_league is not empty, the value is added after the opponent name for league games. For example, if star_league=’*’, an asterisk is added to league games.
  • Team schedule tables now honor the settings in the Settings -> Schedule Table screen. Please read the man page for more information on how Team Schedules and League Schedules share this set of settings.
  • Team Schedule tables now display the results of final games as “W 24-14” or “L 14-24” instead of the “CAL 24, USC 14” displayed in the League Schedule tables.
  • New arguments have been provided to display a number of days on each side of “today” in the schedule/scoreboard tickers.
  • Changed the link to the team URL from the team name in league schedule tables to NOT open a new tab. I believe this is six of one, half dozen of the other, but if there is enough pushback, I’ll add a setting or shortcode argument to control this behavior.
  • Games now have “post content”, which is displayed on the single game template (/templates/single_game.php). This can be used to show pre-game info, and/or a post game summary and statistics.


  • Fixed a bug that prevented the standings tables from updating when teams were moved between leagues. Read more here.


  • Fixed bug that prevented game times from being displayed correctly (no minutes displayed)
  • Minor clean-ups


  • Added [mstw_location_table] shortcode
  • Added venue groups to the venues(locations) admin screen and the above shortcode
  • Added a Next Game field to the Standings Tables
  • Added links from standings table fields: Team Name to Team URL or Team Schedule, and Next Game to Single Game Page.
  • Added links from schedules table, team schedule table, and schedule gallery fields: Team Name to Team URL or Team Schedule, Location(Venue) to Venue URL or Google Map, and Game Time/Result to Single Game page.
  • Added a show_home_away argument to the mstw_team_schedule shortcode.
  • Added home-game and away-game class tags to the team schedule tables.
  • Corrected some minor bugs.
  • Removed some left over debug messages.


  • Initial release.