
List view — meeting results with day, time, location, and address. Click any meeting name to see full details.
Crumb is a lightweight WordPress plugin that embeds the Crumb Widget meeting finder on any page or post using a simple shortcode.
Features:
Add the shortcode to any page or post:
[crumb]
Override settings per page:
[crumb server="https://your-server/main_server" service_body="42" format_ids="17,54" view="map" geolocation="true" geolocation_radius="30"]
Shortcode attributes:
server — BMLT server URL (overrides the value set in Settings Crumb)service_body — Service body ID or comma-separated list; leave empty to show all meetingsformat_ids — Format ID or comma-separated list of BMLT format IDs to lock the widget to; leave empty to show all formatsview — Default view when the widget loads: list (default), map, or both (map above list with no toggle); can also be overridden at runtime via the ?view= query parametergeolocation — Enable or disable geolocation for this page: true or falsegeolocation_radius — Geolocation search radius. Positive integer = fixed radius in miles (or km per server settings). Negative integer = BMLT auto-radius: the server expands the search until it finds roughly that many meetings (e.g. -50 finds ~50 nearby meetings). Overrides the Geolocation Radius setting and Widget Configuration.update_url — URL template for the Update Meeting Info link shown at the bottom of the meeting detail panel. Supports tokens {meeting_id}, {meeting_name}, {server_url}, {return_url} (URL-encoded on substitution). Works with bmlt-workflow, hosted forms, or mailto: URLs.columns — Comma-separated list of columns to show in list view (e.g. time,name,location,address,service_body). Omit a name to hide that column. Leave unset to use the widget default.language — Force the widget UI language for this page (e.g. en, es, fr, de, pt, it, sv, da, el, fa, pl, ru, ja). Leave unset to auto-detect from the visitor’s browser.query — Raw BMLT query string passed through to the widget’s rawQuery() for filters the structured options can’t express (e.g. multi-value meeting_key_value[]). When set, this replaces the default load entirely — service_body, format_ids, and ?services are ignored — and forces geolocation off (the widget can’t safely layer lat/long/geo_width on top of an arbitrary query). Encode brackets as %5B / %5D because WordPress shortcodes can’t contain literal [ or ]. Example: [crumb query="meeting_key=location_nation&meeting_key_value%5B%5D=USA"]. Shortcode-only; no admin setting.Crumb is an alternative to the crouton plugin and can drop in without page edits in most cases. Activating Crumb will:
[bmlt_tabs], [bmlt_map], [crouton_tabs], [crouton_map]) and translate them to the Crumb widget. Map shortcodes render with view="both" (map + list) and tabs shortcodes render with view="list". Shortcode attributes root_server, service_body, service_body_1, formats, report_update_url, and query_string are mapped to their Crumb equivalents (query_string becomes data-query and routes through the widget’s rawQuery()).Crumb only handles those shortcodes when crouton is deactivated — if both plugins are active, crouton continues to handle its own shortcodes. To switch: install Crumb, then deactivate crouton. No page edits required.
Full documentation at crumb.bmlt.app.
This plugin relies on two external services. Both are part of the BMLT (Basic Meeting List Toolkit) ecosystem — free, open-source tools built for Narcotics Anonymous service bodies (https://bmlt.app).
1. Crumb Widget CDN
The widget JavaScript is loaded from a CDN operated by the BMLT project.
2. BMLT Server (meeting data)
The widget fetches meeting data from a BMLT server whose URL you configure in Settings Crumb. This server is typically operated by a regional NA service body and is not a service operated by the Crumb project.