BMLT WordPress Plugin


The Basic Meeting List Toolbox (BMLT) is a powerful client/server system for locating NA meetings.
The “root server” is a standalone Website, but “satellite servers” are set up to point to the “root.” This is a “satellite,” set up as a WordPress plugin.
It is very easy to install and use. It has an administration panel that lets you choose a map center, designate the root, set up the map zoom, and whether older browsers are supported.

Installing and Administering the Plugin

You need to go to this Web page to get very detailed instructions on installing and configuring the plugin.


This is a standard WordPress plugin. Either use the in-dashboard installer, or move the main directory into the wp-content/plugins/ directory and activate it.

More information can be found here.

Administration instructions can be found here.

Usage instructions for the shortcodes can be found here.



  • Fix various PHP warnings by bumping composer dependencies.


  • Fixes a bunch of PHP warnings.


  • Fix for fast table display not displaying properly.


  • Fixed PHP8 fatal error that could occur with port detection.


  • Updated dependencies, PHP8 compatibility.


  • September 22, 2019
  • Added the “Australia” theme.
  • Added location_info field to [[bmlt_table]] and [[bmlt_quicksearch]] shortcodes.
  • Fix for service bodies with multiple children not being selected on [[bmlt]] shortcode.


January 14, 2019*
* Fixed an issue where the Enter key would not submit the meeting search form when using Firefox on standard [[BMLT]] shortcode.
* Fixed an issue with Google Map API being called wrong.
* Added sorting to map search for service bodies and formats.


November 16, 2018*
* Fixed dependency issues.


November 15, 2018*

  • Moved the home Git repo to GitHub.
  • Added the BlackWhiteAndRed theme.
  • Migrated to use composer instead of submodules.
  • Compatibility tested for WP 5.0.0.


July 31, 2018*

  • Minor warning fix for missing lang.
  • Added a line to the AJAX URI calculator to allow the server admin to “hardcode” an HTTPS port, in case the server is misconfigured.
  • Added fix for possible XSS hijack in the fast mobile form.


February 11, 2018*

  • Minor adjustments to the Swedish localization.
  • Added a new “Supermax” option to the auto-radius settings.
  • Moved the Quicksearch JavaScript into the header.
  • Doing a better job of filtering out unnecessary header JavaScript.

= 3.9.1 ** ** January 4, 2018*

  • Fixed an issue where some translated versions had bad settings in the BMLT options initial map type.
  • New Italian Translation.
  • Fixed a bug in the admin screen where it was possible to cause problems with translated strings containing apostrophes.

= 3.9.0 ** ** December 31, 2017*

  • Fixed a minor style issue in the GreenAndGold theme.
  • Added the ability to select an “Auto Radius” density. This is for the map search, and affects how many meetings are determined to be enough to satisfy an “auto radius” search.


November 17, 2017*

  • This has a fix for the reported user agent in the cURL call. Some servers were blocking AJAX calls because security.
  • Added an icon and banner image.


October 8, 2017*

  • The “fix” in 3.8.1 broke certain other installations. That should be fixed here.


October 8, 2017*

  • The 3.7.1 version had an anonymous function pointer that caused some LAMP servers to puke (They shouldn’t). It is no longer anonymous, and that should fix it.


October 8, 2017*

  • Added support for making the default [[bmlt]] shortcode more responsive.


September 24, 2017*

  • Fixes two bugs: 1) Certain non-Roman character sets could fail text match searches, and 2) result sets of no format codes could be counted as empty.


September 24, 2017*

  • Added Spanish translation -FINALLY! Thanks, Costa Rica!


September 21, 2017*

  • I now avoid outputting BMLT head content unless I am in a page that features it.
  • This fixes an issue where the mobile client was not displaying its CSS.


September 19, 2017*

  • There was a bug introduced by the previous release. The standard [[BMLT]] shortcode’s images were not displayed.


September 18, 2017*

  • Added the [[BMLT_QUICKSEARCH]] shortcode.
  • Optimized the styles and Javascript.


September 11, 2017*

  • There is, apparently, an “11” at the end of the WordPress security dial, and some sites turn it all the way to that. This should handle that.


September 11, 2017*

  • Apparently, WordPress has gone full-tinfoil, so I can’t use my include optimizers anymore. I release with debug mode on.
  • This also redoes the way in which localization is done.


September 10, 2017*

  • Added the capability to have different localizations apply to different settings.
  • Rearranged the order of fields in the Admin Page to group localization functions better.
  • Fixed a couple of minor issues with the [[simple_search_list]] shortcode.


June 17, 2017*

  • Added a workaround for nonstandard SSL.


May 18, 2017*

  • Added support for a per-setting Region bias.


March 17, 2017*

  • Added empty “index.php” files to all the directories to prevent listing.


March 12, 2017*

  • Added a fix to the [[BMLT_TABLE]] shortcode that ensures that empty columns in the table get non-breaking spaces if the value is empty.


January 1, 2017*

  • Added the “GNYR2” theme.
  • Fixed a bug in the fast table display, where venue names were not being displayed.
  • Couple of minor tweaks in the Google API includes. Probably makes no difference.


November 6, 2016*

  • There was one more place in the mobile implementation that needed the key.
  • There was an error in the JavaScript in the mobile shortcode.

= 3.4.0* ** -October 16, 2016

  • Reintroduced support for the Google API Key. WARNING: Google API Keys are now REQUIRED.

= 3.3.9* ** -May 22, 2016

  • Now detect escape key to close meeting details overlay.
  • The mobile JS file was importing a non-HTTPS Google Maps API. I changed this to use the HTTPS version.


May 7, 2016*

  • Removed the no-longer-useful update notifier.
  • Fixed an issue where the localization was not being properly detected.


May 2, 2016*

  • Updated the README to better work with BitBucket (If I decide to store this there).
  • Added Doxygen documentation.


April 20, 2016*

  • Updated the readme file to reflect the current plugin state.
  • Removed out-of-date screengrabs.
  • Fixed a bug, in which the proper throbber was not being displayed where multiple themes are on the same page for the bmlt_table shortcode.
  • The standard [[bmlt]] search single meeting results now have a grayed out background, and clicking anywhere outside the details will dismiss the dialog.


April 9, 2016*

  • Fixed a bug that could bork the [[bmlt_table]] shortcode when there are no parameters specified.


April 9, 2016*

  • Added a “Breaker Div” to the end of the meeting list.
  • Work on improving code quality.
  • Added more style hooks to the [[bmlt_table]] shortcode display.
  • Fixed a minor bug in the [[bmlt_table]] and [[bmlt_simple]] shortcodes, where supplying just a settings ID would be ignored.


April 6, 2016*

  • Made the weekday tab overflow hidden.
  • The format circles now float to the right.
  • Added a display for days with no meetings.
  • Fixed a bug in the [[bmlt_table]] shortcode, where the loading throbber would get replaced too quickly when selecting weekday tabs.
  • Corrected a bug that allowed “00:00” times (should be “Midnight”).
  • Fixed a bug in the “simple map search” that displayed the info windows offset.


April 4, 2016*

  • Made it so that we can have specialized themes, amied at only certain shortcodes.
  • Major rewrite of the [[bmlt_table]] shortcode to improve responsive design.


April 1, 2016 (Happy April Fools’!)*

  • Broke the table styling out into separate files that are all loaded at once. This allows a lot more flexibility when implementing the table display.
  • Tweaked the GNYR style.
  • The JavaScript had a fundamental error that prevented multiple instances of the table. That’s been fixed.


March 30, 2016*

  • Got rid of an undeclared variable warning.
  • Fixed a bug that caused rendering issues with the new table shortcode on Internet Exploder.
  • Fixed a minor style issue, where the selection triangle would flow below the text in large text situations.
  • Changed the styling for the selected header triangle to make the table display a bit more responsive.


March 29, 2016*

  • Fixed a style problem with the default search, where the map and text might be outdented by 8 pixels.
  • Fixed the “Google Maps included two or more times” warning.
  • Removed unnecessary new search and duration items from admin page.
  • Fixed an issue where WordPress would sometimes HTML-entity the ampersand (&) character.
  • Added a very significant new shortcode: [[bmlt_table]].
  • Adding Italian localization.
  • Adding better support for SSL/HTTPS.


January 10, 2016*

  • Added support for a runtime language selector as a cookie. If you set a cookie named “bmlt_lang_selector,” and set its simple string value to an ISO 639-1 or ISO 639-2 SUPPORTED language, that will select the client language.


August 15, 2015*

  • Added Portuguese Translation.


May 25, 2015*

  • Updated the base class (CSS fixes, mostly).


January 31, 2015*

  • Fixed an issue with the extra fields display in the regular shortcode display details.
  • Fixed an issue where the arbitrary fields were actually creating too many results.
  • Now hide the distance_in_km/miles parameters in the meeting details (these are internal parameters).


November 23, 2014*

  • Added a meta tag with the Root Server URI for troubleshooting.
  • Added full support for arbitrary fields. This was an important capability that was left out after Version 3.X
  • Fixed a CSS issue with the admin display map. Some themes (especially responsive ones) declare a global max-width for images. This hoses Google Maps, and has to be compensated for.


July 31, 2014*

  • Added a user-agent to cURL, which allows the root server to be a bit more tinfoil.
  • Fixed an annoying bug with the admin, in which new settings reported a bogus ID first time through.


July 17, 2014*

  • Added Danish localization.
  • Fixed a small bug in the administration.


February 23, 2014*

  • This adds fixes for servers that run on non-standard TCP ports.


December 7, 2013*

  • Fixed a character set issue that affected some instances of Internet Explorer.


December 7, 2013*

  • Added French localization.


September 7, 2013*

  • Tweaked the German localization slightly
  • Fixed some JavaScript issues with the [[bmlt_mobile]] shortcode.


July 1, 2013*

  • Fixed a couple of localization bugs in the German localization.
  • Added the capability to select which day of the week will be the start day.


May 22, 2013*

  • Added German localization.


May 19, 2013*

  • Fixed a usability issue, where entering text into the CSS field would not immediately “dirtify” the admin screen.


May 18, 2013*

  • Fixed an issue, where the Meeting search could have a bad AJAX URI.


May 16, 2013*

  • Cleaned up some code to reduce notes and warnings.


May 13, 2013*

  • Reduced the number of times that the marker redraw is called in the standard [[bmlt]] shortcode handler.
  • Fixed an issue with CSS that caused displayed maps to get funky.


May 5, 2013*

  • Fixed an issue, where the first set of results from a search would display too many red icons on the map.


April 28, 2013*

  • Added support for display of military time.


April 21, 2013*

  • Fixed localization issues with string searches.


April 16, 2013*

  • There was a bug in the Swedish translation. Also, the language is now auto-detected from the blog.


April 15, 2013*

  • Fixed a bug caused by work on the root server. This bug prevents the details window from appearing on the standard shortcode.


Adds Swedish baseline localization (Still need to add localization detection).*


January 28, 2013*

  • Fixed an issue that pooched some uses, and also turned off debug mode (oops).


January 26, 2013*

  • Implemented completely new default shortcode.
  • NOTE: DON’T UPGRADE UNTIL YOU ARE READY! This is a MAJOR change in styling and behavior.


May 13, 2012*

  • Fixed an old bug, where empty settings would be accidentally created.


April 26, 2012*

  • Added some JavaScript “hooks” to allow robust customization of the new map search.


March 28, 2012*

  • Added an alert to the new map search, if no meetings were found (originally gave no feedback).


December 31, 2011*

  • Added the ability to localize the plugin.
  • Fixed some validation issues.
  • Now strip out the [[bmlt_mobile]] shortcode if the page is not a mobile page. This allows the shortcode to be used, as the comment version is stripped by “code cleaners.”


September 2, 2011*

  • Fixes an Internet Explorer JavaScript bug in the new map search.


August 17, 2011*

  • Improves some of the styles in the info windows in the new map search.


August 16, 2011*

  • Addresses a bug in Mozilla Firefox, that prevents the use of the popup menus in the multi-day (red) map icons.


August 12, 2011*

  • Fixes a couple of theme/style bugs.
  • Mitigates a very strange Firefox bug, where blank pages were being called when closing the location area.


August 8, 2011*

  • This implements a powerful new shortcode: “bmlt_map”


July 16, 2011*

  • This removes a few warnings that could come up in really anal-retentive environments.


June 27, 2011*

  • This adds the new “bmlt_changes” shortcode. This is the first fruit of the new structure.


June 20, 2011*

  • Fixed an “invisible” bug in the standard header output, which could interfere with the correct settings being selected.
  • Changed the structure to use the new one that allows the shared projects to be “nested” more easily.


June 14, 2011*

  • Added the location text and comments to the meeting info displays in mobile mode.


May 24, 2011*

  • Moved the AJAX handler to the “init” phase, as ‘wp’ seemed to wait a bit too long.
  • Added the capability to display a changelist in the upgrade notice -very cool!
  • Added a settings link to the plugin listing.


May 22, 2011*

  • Fixed a very strange bug that seems to cause …


February 11, 2018
I’ve been using this app for a couple of years now. It’s simply the best software out there for creating a meeting list on your website. The developer rolls out updates whenever a need is seen. While it is used primarily by NA other 12 step organizations would find it equally easy to use. In fact this is a great tool no matter why you would need it!
Read all 2 reviews

Contributors & Developers

“BMLT WordPress Plugin” is open source software. The following people have contributed to this plugin.