Plugin: mam-business-directory

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 to mam-special-offers, joins owners/staff to listing chat groups in mam-chat-manager, and lets mam-reviews-manager own 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:

  1. business-directory-plugin/business-directory-plugin.php is present and active (and WPBDP exists).
  2. mam-main is installed and mam_plugin_entitlement returns a non-blocked record for the slug mam-business-directory.
  3. mam-main meets the minimum version (checked on admin_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

  • 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)
Was this article helpful?
Contents

    Need Support?

    Can't find the answer you're looking for? Don't worry we're here to help!