Patch for MSTW League Manager Version 2.4

I have been alerted to an annoying bug in MSTW League Manager v2.4 by a member of the MSTW community. (Thanks Michael.) If you are seeing messages like:

Warning: include_once(mstw-lm-duplicate-teams-class.php): failed to open stream: No such file or directory in /your-site/wp-content/plugins/mstw-league-manager/includes/mstw-lm-admin.php on line 98

Warning: include_once(): Failed opening ‘mstw-lm-duplicate-teams-class.php’ for inclusion (include_path=’.:/usr/local/php56/pear’) in /your-site/wp-content/plugins/mstw-league-manager/includes/mstw-lm-admin.php on line 98

on your live site or your admin dashboard. They are caused by my carelessness in releasing the build. (Chalk it up to “trying to do too many things at once”.)

Other than being annoying, these warnings do not indicate any dysfunction in the plugin. So if you haven’t seen them, don’t worry about it. But if they are annoying you and you’d like to eliminate them, there are three ways to do so:

  1. If you are code savvy, you can open the mstw-lm-admin.php file in your site’s plugins/mstw-league-manager/includes directory and remark out line 98 that includes the mstw-lm-duplicate-teams-class.php file.
  2. Pull the mstw-lm-admin.php file from the development trunk on ( ). Right click on the file and select Save Link As from the pop-up menu. This is download the file to the location you choose.
  3. De-activate and delete the plugin from your site, and re-install and re-activate it.

Removing MSTW Content from Site Search Results

A member of the MSTW family experienced the following problem with his site search results. (WordPress native search) The MSTW Schedules & Scoreboards plugin* makes use of a number of “custom post types” (CPTs), as do all the MSTW plugins. These CPTs, such as games in the case of MSTW S&S, will show up in the search results. For example, if all the soccer games have ‘soccer’ in their titles (not unreasonable), then the CPTs for all soccer games will appear in the results. This might be okay, except I did not create a template to display the scheduled_game CPT, because that was not necessary for the plugin’s functionality. (The MSTW League Manager plugin DOES have a template to display games, so this is not an issue.)

There are many ways to ‘fix’ issue if it’s a problem for you. I found a great post by AJ Clark of WPExplorer that describes some possible fixes. WP Search is just a WP database query at the end of the day, and WordPress provides many ways to ‘filter’ queries (== jump in the middle of them).

Richard Cardona shared the following code snippet that you can drop into your (hopefully child) theme’s functions.php.

add_action( 'init', 'remove_a_custom_type', 99 );
function remove_a_custom_type() {
	global $wp_post_types;
	if ( post_type_exists( 'scheduled_games' ) ) { 
		// exclude from search results
		$wp_post_types['scheduled_games']->exclude_from_search = true;

As always, if you have questions or comments, please post them to the appropriate support forum(s) so other users can benefit from you question and its answer.

* The MSTW Schedules & Scoreboards plugin is no longer supported, it has been replaced by the MSTW League Manager plugin. However these concepts apply to the entire MSTW plugin family.

League Manager 2.4 Released

MSTW League Manager version 2.4 is now available at (League Manager).

This release contains the following upgrades and bug fixes:

  • The Update Games screen can now be filtered by sport and date in addition to league and season. For example, it’s now easy to filter and update all the football games on a Friday night.
  • A bug was corrected in the Date Picker. It now functions properly across several screens.

League Manager 2.3 & Addons Available

MSTW League Manager and MSTW League Manager Add-ons version 2.3 are now available on (League Manager) and the MSTW Store (LM Addons).

MSTW League Manager 2.3 contains the following new features:

  • 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.

In this release, there is no new functionality in the addons, but the plugin has been modified to support new features in League Manager. It is always recommended that you keep the releases in sync.

The multi schedule shortcode [mstw_multi_schedule_table leagues='league-slug-1,league-slug-2'] provides functionality that is very similar to the multi standings shortcode. A drop-down control with the leagues (or groups in the case below) passed in the leagues argument, and a drop-down control with the seasons for those leagues are provided. The table then shows the schedule for the selected team in the selected season as shown in the screenshot below.

A typical way this might be used is to display the current and all the archived seasons for one league using relatively little screen space.

New Releases of League Manager & LM Addons

MSTW League Manager 2.2 and MSTW League Manager Add-ons 2.2 are now available on (League Manager) and the MSTW Store (LM Addons).

The MSTW League Manager Add-ons are designed for websites that use MSTW League Manager to maintain multiple league schedules, and large numbers of teams and games. MSTW League Manager 2.2 has been enhanced to better support the features of the LM Addons for large sites, but it will run just as before without the add-ons.

NEW in Version 2.2

  • The School (or organization) database allows Teams to be assigned to schools. Any missing team data – names, mascots, logos, etc. – is inherited from the teams’s school. This greatly reduces the data entry requirements when teams are moved forward to new years/seasons.
  • The Sport database allows Sports to be assigned to Schools. This association may then be used in page templates, which can greatly reduce the number of pages and their maintenance for websites with large numbers of leagues, schools, and teams.
  • Rosters from the MSTW Team Rosters plugin can be linked to a team. (Version 4.1.3 of Team Rosters is required to support this feature.)
  • Changed a ‘design decision’ that prevented more than 300 games from displaying properly in sliders and tickers.
  • A media icon (with link to a media file or website) can be displayed on schedule sliders, tickers, galleries, and scoreboards.
  • The display in the Media column in schedule tables when no media link is found now defaults to a blank (rather than “No media found.”), which allows the column to be ‘re-purposed’ more flexibly.
  • Added filters provide control over the message displayed when no media is found and when no location is found.

In addition, a SCHOOL Scoreboard shortcode has been added to the existing LM Add-ons shortcodes for TEAM sliders, SCHOOL sliders, SPORT sliders, and LEAGUE Scoreboards. TEAM, SCHOOL, and SPORT tickers and a SPORT scoreboard are on the drawing board for a future releases, which will be included as part of the plugin’s support. Read more about these features in the MSTW Store and on the MSTW League Manager Add-ons man pages.

MSTW Bracket Builder – New Release & Planned Builds

Version 1.1 of the MSTW Bracket Builder Premium plugin is now available. It is primarily a maintenance build, including:

  • Extensive work done in the plugin’s default stylesheet (/css/mstw-bb-styles.css). The tournament brackets display beautifully in my development theme (a WP Twentyeleven child theme). See Some CSS work may be required for your theme. The primary driver is the width of the bracket’s containing element. It should be at least 750 pixels wide for basic single elim brackets and 900 pixels wide for double elimination brackets with consolation games.
  • Fixed bug that displayed -1 in the League column of tournaments table on the Tournaments screen when no league has been selected.
  • Fixed bug that displayed -1 as the team name when no games had been entered (updated) on the Update Games screen.
  • Updated the users manual. Check it out at

Upcoming versions of the MSTW Bracket Builder Premium plugin will include:

  • Restructure tournament set-up. The current tournament setup of the first round is awkward and non-intuitive. We will try to improve it. The improvements will also accommodate the two enhancements described below. If you have some suggestions, please send them along ASAP.
  • Better display of multiple first round BYEs. Ever build a 10 team tournament? It’s annoying to deal with six first round BYEs, and the team receiving the BYE can be advanced to the second round, the first round byes need not appear in the graphical display of the bracket.
  • Group or round-robin play. There have been many requests to better incorporate group play to fill the bracket (or knockout round). Round robin play can be handled with (small) leagues in MSTW League Manager. How we can do this without further complicating the first round setup remains to be seen, but we’ll push the rock some distance down the road.


MSTW League Manager Add-ons 1.1

MSTW League Manager Add-ons 1.1 was released today. It is a minor release containing the following features and fixes:

  • Nonleague games are now shown by default. So you only need to use the show_nonleague argument if you DO NOT want to show nonleague games, then use show_nonleague=0 in the shortcode.
  • Media icon with link appears in all shortcodes when a game has a media link. (Update games or Manage Games screen).
  • All shortcodes now support multiple seasons.

If you have already purchased version 1.0 of the plugin, you should be able to download version 1.1 using the same link you received with your purchase. Otherwise, what are you waiting for? You can purchase the plugin from the MSTW Store.

MSTW League Manager 2.1

MSTW League Manager 2.1 was released today. It is a minor release containing the following features and fixes:

  • 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.

It should show up in your Dashboard Plugins page, or you can download it from

MSTW League Manager Add-ons

Happy New Year! New for 2018, MSTW League Manager Add-ons are now available in the MSTW Store.

The MSTW League Manager Add-ons are designed for websites that use MSTW League Manager to maintain league schedules and update game results (not simply to maintain league standings). On such sites, league standings can automatically calculated ‘on the fly’ based on the league games and results every time a page with the standings shortcode is loaded. There is no need to create and maintain team records. This can be a huge time-saver on large sites with multiple leagues. It also eliminates errors (typos) when entering team records. In anticipation of what is soon to be a Frequently Asked Question, YES, YOU CAN STILL USE LEAGUE MANAGER WITH TEAM RECORDS, league schedules and games are not necessary. In fact, you can choose to use the new auto-update feature or the older team records to update standings on a sport-by-sport basis.

In addition, the Add-ons provide four new shortcodes for TEAM sliders, SCHOOL sliders, SPORT sliders, and LEAGUE SCOREBOARDS. Team, School, and Sport tickers and scoreboards are already in development for a future releases, which will be included as part of the plugin’s support. Read more about these features in the MSTW Store and on the MSTW League Manager Add-ons man pages.

The MSTW League Manager 2.0 plugin combined with the MSTW League Manager Add-ons have been in development since May of 2017, and have been running on three large sports sites since September of 2017. So these plugins have been exercised under “real” conditions, and they are probably the best tested MSTW plugins released to date.

MSTW League Manager 2.0

Happy New Year! Just in time for 2018, MSTW League Manager 2.0 is available on

Why the numbering jump from 1.4 to 2.0? The entire plugin was restructured to support the automatic, on-the-fly updates of league standings from the league’s game results. With the introduction of the MSTW League Manager Add-ons, team records no longer need to be created and maintained. Instead records are computed from the standings shortcode is rendered. Of course the plugin can still be configured and used exactly as before for sites that do not maintain game schedules.

In addition, version 2.0 also includes these new and improved features:

  • The standings are now sorted based on a primary sort rule and two tie-breakers, which are selected on the Settings screen. AND they actually work!!
  • Games can be identified as conference and division, in addition to non-league. Conference and division win percentages and points (calculated from the existing fields in the team records) can be displayed in the standings tables.
  • New display options for front end displays have been added, some on the Settings screen and some via shortcode arguments.
  • League sliders and tickers can now display media icons and links to media sources when a media link has been provided for a game. Media labels and links can be entered on the Update Games screen, avoiding the need to edit the games one-by-one on the Manage Games screen.
  • Game (league schedules) can now be added in bulk via CSV file imports.
  • Added /lang directory containing a .POT file has been added for translators. (If you create a translation, send me the .po file and I’ll add it to the next release for you.)
  • 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.