A streamlined WordPress plugin for displaying 12-step meeting information when your meeting data is maintained elsewhere.
Meeting List Lite is a streamlined solution for displaying 12-step meeting information on your WordPress site when your meeting data is maintained elsewhere. Unlike the full 12 Step Meeting List plugin, this "lite" version doesn't include a database or editing capabilities—it simply displays meetings from your existing data source.
Service bodies who:
- Maintain their meeting data in a Google Sheet, JSON feed, BMLT or another system
- Don't need to edit meeting information within WordPress
- Want the familiar TSML UI interface without the overhead of data management
- Already have geocoded meeting data (latitude/longitude for in-person meetings)
- TSML UI Integration: Displays meetings using the same TSML UI interface as 12 Step Meeting List
- Multiple Data Sources: Supports JSON feeds and Google Sheets that follow the TSML spec
- No Database Required: Your data source is the single source of truth
- Lightweight: Easy to set up with minimal overhead
- TSML Compatible: Fully compatible with the TSML data format
- WordPress: 6.8 or higher (tested up to)
- PHP: 8.0 or higher
- Data Source: Must follow the TSML specification
- Geocoding: For in-person meetings, latitude and longitude coordinates must already be included in your data (this plugin does not perform geocoding)
Important: Your WordPress timezone should be set to a valid IANA timezone identifier in Settings → General. See the PHP timezone list for valid values. Generic UTC offsets (like "UTC+5") are not sufficient. You can also override the timezone using the timezone shortcode attribute.
- Upload the
meeting-list-litedirectory to the/wp-content/plugins/directory - Activate the plugin through the 'Plugins' menu in WordPress
- Important: Ensure your WordPress timezone is set to a valid IANA timezone (e.g., "America/New_York") in Settings → General for accurate meeting times. You can also configure through shortcode attribute. See https://www.php.net/manual/en/timezones.php for a complete list.
- Go to Settings → Meeting List Lite and configure your data source URL
- Add the
[tsml_ui]shortcode to any WordPress page or post where you want meetings displayed
[tsml_ui]
[tsml_ui data_source="https://your-url.com/meetings.json"]
[tsml_ui data_source="https://your-url.com/meetings.json" timezone="America/New_York"]
What's the difference between this and 12 Step Meeting List?
12 Step Meeting List is a full-featured plugin that stores meeting data in your WordPress database and includes editing capabilities, geocoding, and data management tools. Meeting List Lite is designed for service bodies who maintain their meeting data elsewhere and just need to display it on their WordPress site.
What data formats are supported?
The plugin supports JSON feeds and Google Sheets that conform to the TSML specification.
Does this plugin geocode addresses?
No. Your data source must already include latitude and longitude coordinates for in-person meetings. If you need geocoding, consider using the full 12 Step Meeting List plugin instead.
Can I edit meeting data in WordPress?
No. This is a display-only plugin. Your data source (JSON feed, Google Sheet, etc.) is the single source of truth. To edit meetings, update your external data source.
Where do I configure my data source?
Go to Settings → Meeting List Lite in your WordPress dashboard, or use the data_source attribute in your shortcode.
Why does my WordPress timezone need to be set to a valid IANA timezone?
The plugin requires a proper IANA timezone identifier (like "America/New_York" or "Europe/London") to correctly display meeting times. Generic UTC offsets (like "UTC+5") are not sufficient. You can set this in Settings → General, override it with the timezone shortcode attribute. Find a complete list of valid timezones at https://www.php.net/manual/en/timezones.php
This plugin relies on external services to function properly:
- Service: Code4Recovery TSML UI (tsml-ui.code4recovery.org)
- Purpose: Provides the JavaScript React component that renders the meeting list interface
- Data sent: No user data is transmitted to this service. The plugin only loads the JavaScript library
- When: The script is loaded whenever a page contains the
[tsml_ui]shortcode - Terms of use: GitHub License
- Privacy policy: Code4Recovery Privacy Policy
- You must configure your own data source URL (JSON feed or Google Sheet) in the plugin settings
- The plugin fetches meeting data from this URL to display on your site
- No data is sent to your data source; the plugin only reads from it
- Update dependencies
- Added base_path as a shortcode attribute
- Added configurable TSML CDN URL setting in Advanced Settings
- Set default marker when using a BMLT server.
- Added CSS template selection dropdown with "Full Width" and "Full Width (Force)" options
- Improved default meeting type labels when using BMLT data sources
- Added configurable base path setting for pretty URLs (e.g.,
/meetings/slug-name) - Added automatic rewrite rule management with version tracking
- Added plugin activation and deactivation hooks for proper permalink handling
- Improved settings page with new "Base Path for Pretty URLs" option
- Enhanced URL routing to support client-side navigation with React Router
- Add google key setting.
- Remove base css and just use as default custom css.
- Remove unneeded google key setting.
- Change css customization example.
- Revert setting of default timezone.
- Updated note about setting timezone.
- Add plugin screenshots
- Support for JSON and Google Sheet data sources
- TSML UI integration for meeting display
- Shortcode support with configurable attributes
- Initial Release
This plugin is licensed under the GPLv2 or later.

