What it does
mam-business-directory connects the WordPress Business Directory Plugin (wpbdp) to the MAM mobile app pipeline. It is the sibling of mam-geodirectory, rebuilt on Business Directory’s data model. Once active it:
- Turns the single Business Directory listing post type (
wpbdp_listing) into mobile content surfaces — list, map, off-directory, and admin-approval views. - Builds a per-listing detail screen from MAM “content sections” (address, business hours, social media, post content, favorite/check-in).
- Adds role-gated tab bar action buttons — Edit Listing, Edit Staff, Send Notification, Claim Listing, Approve Listing, Share.
- Registers Gravity-Forms-backed mobile forms — Add/Edit Listing, Send Notification, Add Users (staff/manager invites), Approve Listing, Approve Claim.
- Provides an admin Settings page (MAM Suite → Business Directory) that wires those forms and per-app behavior, and hosts a bulk claim-invite tool.
- Integrates with other MAM plugins: feeds cities into
mam-geofilters, exposes per-listing coordinates and radius tomam-special-offers, joins owners/staff to listing chat groups inmam-chat-manager, and letsmam-reviews-managerown native Business Directory ratings so a rating left in the app and one left on the website are the same data.
Business Directory ships four capabilities as Elite-tier modules rather than core: Claim Listings, Ratings, Google Maps (geocoding), and ZIP/City search. This plugin assumes a Business Directory Elite membership and activates its features when the matching module is present.
Setup paths
The plugin silently no-ops unless all of the following are satisfied:
business-directory-plugin/business-directory-plugin.phpis present and active (andWPBDPexists).mam-mainis installed andmam_plugin_entitlementreturns a non-blocked record for the slugmam-business-directory.mam-mainmeets the minimum version (checked onadmin_init).
When all three are true, mam_business_directory_manager::init() runs on plugins_loaded and registers the full hook set.
Key differences from GeoDirectory
| Concern | GeoDirectory | Business Directory |
|---|---|---|
| Post types | Many (gd_place, custom CPTs, gd_event) |
One (wpbdp_listing) — settings collapse to a single Listing tab |
| Listing fields | Per-CPT detail tables | wpbdp form fields in postmeta (wpbdp_get_form_fields()) |
| Events | GeoDir Events addon | Not supported in v1 (out of scope) |
| Address | Structured columns | One free-form Address box by default; City/State are optional fields you add |
| Lat/lng | Detail-table columns | Flat lat/lon postmeta (our Haversine source) plus the Google Maps module’s geolocation meta |
| Plan meta | Pricing package meta table | $fee->extra_data['mam'] on the fee plan (no meta table) |
| Claim | GeoDir Claim Manager | Business Directory Claim Listings (Elite) module |
| Reviews | GD review table | Business Directory Ratings module table |
Where it appears in the app
| Surface | Driver |
|---|---|
| Directory list, map, off-directory, admin-approval | Content-type registrations in content-classes/local-app-business-directory-class.php |
| Listing detail screen | mam_content_section_* filters in mam_bd_content_blocks |
| Tab bar action buttons | mam_main_add_tab_bar_item_* filters in mam_bd_tab_bar_buttons and mam_bd_claim_listing_manager |
| Home-screen category scroller | mam_get_phone_data_before_send injection in mam_bd_phone_data |
| Push notifications | mam_notification_list filter |
Admin surfaces
| Surface | Driver |
|---|---|
| MAM Suite → Business Directory submenu (Settings, Listing, Claim Listing, Notifications, Roles, Claim Invites tabs) | mam_bd_admin_settings |
| Staff & Managers meta box on the listing edit screen | mam_bd_staff_manager |
| Fee-plan MAM fields (push quota, offers, chat gate, staff cap, WooCommerce product) | mam_bd_plan_settings on the wpbdp fee-plan screen |
Common tasks
- Configure the settings page → Recipe: Configure the Business Directory settings page
- Set per-plan MAM fields → Recipe: Fee-plan MAM fields
- Add staff/managers in WordPress admin → Recipe: Manage staff and managers
- Bulk-invite venue owners to claim → Recipe: Bulk-invite venue owners to claim
- Understand the per-listing app payload → Mobile listing data shape
- Decide which tab bar button shows for whom → Listing tab bar buttons
- The mobile forms → Business Directory forms
- Companion & module integrations → Business Directory integrations
- Notification slugs → Business Directory notification types
Related articles
- Recipe: Configure the Business Directory settings page
- Recipe: Fee-plan MAM fields
- Recipe: Manage staff and managers
- Recipe: Bulk-invite venue owners to claim
- Recipe: Claim listing subscriptions
- Business Directory content types
- Listing tab bar buttons
- Mobile listing data shape
- Business Directory forms
- Business Directory integrations
- Business Directory notification types
Metadata
| Field | Value |
|---|---|
| Article type | Plugin Overview |
| Plugin slug | mam-business-directory |
| Category | Plugin Reference |
| Depends on | MAM Main, Business Directory Plugin (third-party WordPress plugin) |
| Requires (third-party) | Business Directory Plugin 6.x |
| Works with | MAM GeoFilters, MAM Special Offers, MAM Chat Manager, MAM Reviews Manager, MAM Notification Manager, MAM Stripe Manager, MAM In-App Purchase Manager, MAM Gravity Forms Manager; Business Directory Elite modules (Claim Listings, Ratings, Google Maps) |
