Plugin: mam-reviews-manager

What it does

mam-reviews-manager is the MAM Suite plugin that puts ratings and reviews into the mobile app. It does three jobs:

  • Shows reviews on a listing’s detail screen — a summary header (average, total, rating distribution), the review list, and an “add a review” form — built as MAM content sections.
  • Accepts new reviews submitted from the app and saves them.
  • Keeps app and web in sync. The defining principle of the plugin is read/write symmetry: every rating the app shows comes from the same native store the website reads from, and every rating the app submits is written back into that same store. A rating left in the app and a rating left on the website are the same data — interchangeable by construction.

That last point is what the provider model delivers. Instead of inserting bare WordPress comments (which is what the plugin used to do, and why app reviews never showed up in GeoDirectory or WooCommerce averages), the plugin resolves one provider per post and delegates all reads and writes to it. The provider knows how that post type stores ratings:

Post type Provider Native store
GeoDirectory listing (gd_place, custom GD CPTs) mam_gd_reviews_provider (in mam-geodirectory) wp_geodir_post_review + GD rating categories
WooCommerce product mam_wc_reviews_provider (in mam-woocommerce) comment_type = 'review' + _wc_average_rating
Everything else mam_reviews_default_provider (built in) WordPress comments + rating comment meta

The plugin also supports multi-faceted reviews (a listing can be rated on several criteria — Cleanliness, Food Quality, … — not just one overall star) and a swipe-to-rate home-screen element for quick one-tap ratings.


Where it appears in the app

Surface Driver
Reviews summary header on a listing detail screen reviews_header content section — see Reviews content sections
Reviews list on a listing detail screen reviews content section
“Add a review” form on a listing detail screen add_review content section
All Reviews browse screen (site-wide, geo-filterable) the All Reviews content class
Swipe-to-rate home-screen element see Swipe to rate

The review/rating behavior (approval mode, star vs. numeric display, login requirement, photos) and the on-screen text (titles, success/pending messages) are configured on the standalone Reviews settings screen — see Configure the Reviews settings screen.


How a review submission flows

  1. The app posts a JSON review to mam-main’s AJAX dispatcher with subaction mam_submit_review.
  2. mam_reviews_ajax_handler owns the envelope: it authenticates the user, rate-limits (one submission per app install per post per day), decodes the per-criterion ratings map (tolerating the legacy single review_stars field), and finalizes any photo uploads.
  3. It resolves the owning provider with mam_reviews_provider_for( $post_id ) and calls save_review(). The provider writes through the native path (wp_new_comment() plus the post-meta/request vars GeoDirectory or WooCommerce listen on) so native averages recalculate.
  4. The handler fires mam_reviews_review_submitted (and, for shop_order posts, mam_reviews_add_vendor_review) so other plugins can react.
  5. The response tells the app whether the review is pending (so the app can show the right confirmed-vs-pending message) and returns refreshed phone data.

The same envelope-then-provider shape powers swipe-to-rate via the mam_swipe_listing subaction.


Setup paths

  1. mam-main is installed and the entitlement filter mam_plugin_entitlement returns a non-blocked record for the slug mam-reviews-manager.
  2. Activate the plugin. It self-registers the default WP-comments provider, the Reviews settings page, the AJAX handlers, the content sections, and the phone-data filter on plugins_loaded.
  3. (Optional) Activate mam-geodirectory and/or mam-woocommerce so their providers take over GD listings / Woo products. Each registers itself at priority 20 on the mam_reviews_providers filter — no configuration needed for the handoff.
  4. Configure behavior and text on Mobile App Manager → Reviews.

The first time it runs after the upgrade, a one-time migration backfills app reviews that were previously orphaned as bare comments into the native rating stores, so historical app ratings start counting toward native averages.


Key concepts to know

  • Provider model & native symmetry — the architecture that makes app and web ratings the same data. See How reviews are stored and read.
  • Criteria — every provider returns at least one overall criterion; multi-criteria providers (GeoDirectory with the Review Rating Manager) add one per configured dynamic.
  • Rating display type — input is always a 1–5 selector; the stars vs numeric setting only changes whether the value renders as star glyphs or a number badge.
  • Approval mode — reviews are inserted as Approved or Pending per the Reviews settings; the submission response carries a pending flag so the app shows the matching message.


Metadata

Field Value
Article type Plugin Overview
Plugin slug mam-reviews-manager
Applies to plugin version 26.23.0+
Category Plugin Reference
Depends on MAM Main
Works with MAM GeoDirectory, MAM WooCommerce, GeoDirectory Review Rating Manager (multi-criteria), WooCommerce, MAM ABI Now
Hooks exposed mam_reviews_providers, mam_reviews_review_submitted, mam_reviews_swipe_submitted, mam_reviews_add_vendor_review, mam_reviews_complete_message, plus the mam_content_section_* builders and the back-compat read filters
Last verified 2026-06-04
Contents

    Need Support?

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