Partner Map Locator
Partner Map Locator is a lightweight WordPress plugin for showing your partner network, dealers, retail stores or company branches on a responsive interactive map. Locations are managed as a custom post type so they sit alongside the rest of your WordPress content.
Using the settings: you pick one map type for the whole site (Google Maps, OpenStreetMap or list-only). That controls which scripts load. You can still hide the map on a single page with the shortcode or block list-only option. Under List & map visibility, Description has separate checkboxes for the list and the popup. Under Features, List card description (max. characters) controls list excerpts (with optional “Read more”); map popups always show the full description. Under Map defaults, Map popup width sets how wide the location card is on the map.
Choose Google Maps as the map type and enter your Google Maps JavaScript API key, pick OpenStreetMap for a keyless map rendered with the bundled Leaflet library, or use the list-only mode for a map-free, filterable location list.
Features
- Custom post type “Locations” with proper capabilities and admin UI
- Optional category taxonomy to group locations (regions, types, brands, …)
[partner_map_locator]shortcode with optional category, height, zoom, coordinates, layout, design and map attributes- Multiple maps on the same page are fully supported
- Accessible list rendering of all locations alongside the map
- Optional “Show my location” button (browser geolocation, off by default)
- Optional admin geocoder using the Google Geocoding API (off by default, with a clear opt-in toggle)
- Server-side cache so the location query only runs once per data change
- CSV import / export and a one-click import tool for locations from a previous installation
- Translation ready (text domain
partner-map-locator) - Map provider of your choice: Google Maps (incl. optional Map ID / Advanced Markers) or OpenStreetMap (bundled Leaflet, no account or API key needed)
- Four ready-made designs (Classic, Tab view, Mixed view, Stack view) plus per-page design/layout via shortcode or block
- Geolocation with radius search and “near me” out of the box
- Schema.org LocalBusiness markup and WPML/Polylang compatibility
- No statistics or marketing scripts are bundled; outbound traffic is limited to the selected map service and, if you turn it on, the optional geocoder
Privacy
The plugin does not load advertising or visitor-profiling scripts. By default the map type is set to “List only”, so no external map service is contacted until the site owner opts in by choosing a map provider under Settings → Map. With the Google Maps provider, the visitor’s browser loads the Google Maps JavaScript API and tiles from Google, which may transmit data such as the visitor’s IP address to Google. With the OpenStreetMap provider, the Leaflet library is bundled and served from your own site; only the map tiles are loaded from the configured tile server — openstreetmap.org by default, or Carto (carto.com) when one of the Light / Dark / More-colors map color schemes is selected — which transmits the visitor’s IP address to that tile provider. Use the built-in consent gate (Settings → Integration) if you need visitor consent before the map loads; it covers both providers. The browser geolocation feature, when enabled, only triggers after the visitor clicks the dedicated button and is handled entirely client-side by the browser. The optional admin geocoder, when enabled, sends address data server-side from your site to the Google Geocoding API to retrieve coordinates.
Web fonts are self-hosted by default — the optional Google fonts are bundled with the plugin and served from your own server, so no request is made to Google. Under Settings → Style → “Web font loading” an administrator may instead choose “Load from Google”, which loads the selected font from https://fonts.googleapis.com and therefore sends the visitor’s IP address to Google; this option is off by default.
External services
This plugin can connect to the third-party services listed below. Every one of them is optional and off by default: the plugin ships with the map type set to “List only”, so a fresh install loads no map tiles and contacts no external service at all. A map (and its tile service) is only loaded after the site owner explicitly selects a provider under Settings → Map; the Google API features additionally require you to enable the matching option and enter your own API key. A built-in map consent gate (Settings → Integration) can require visitor consent before any tiles load.
OpenStreetMap tile server (tile.openstreetmap.org) Active only if the site owner selects “OpenStreetMap” as the map type (the plugin defaults to “List only”, which loads no tiles). It is the keyless map option — no account or API key is required. When a visitor then opens a page that contains the map, their browser requests the map tile images from the OpenStreetMap tile server, which transmits the visitor’s IP address (and the requested map area) to the OpenStreetMap Foundation. No other data is sent. You can avoid this by keeping the “List only” map type, or by enabling the built-in consent gate (Settings → Integration) so tiles load only after the visitor agrees. Tile usage policy: https://operations.osmfoundation.org/policies/tiles/ — Privacy: https://wiki.osmfoundation.org/wiki/Privacy_Policy
CARTO basemap tiles (basemaps.cartocdn.com) Used only if you pick one of the “Light”, “Dark” or “More colors” map color schemes while using the OpenStreetMap provider. The visitor’s browser then loads the map tiles from CARTO instead of OpenStreetMap, which transmits the visitor’s IP address (and the requested map area) to CARTO. The default “Classic” scheme uses OpenStreetMap tiles and does not contact CARTO. Terms: https://carto.com/legal/ — Privacy: https://carto.com/privacy/
Google Maps JavaScript API (maps.googleapis.com) Used only if you set the map type to “Google Maps” (Settings → Map). When a visitor opens a page with the map, their browser loads the Google Maps script and map tiles using the API key you entered, which transmits data such as the visitor’s IP address to Google. The same script is loaded in the location editor if you use the optional “Import from Google Maps” search. Terms: https://cloud.google.com/maps-platform/terms — Privacy: https://policies.google.com/privacy
Google Places API (places.googleapis.com, maps.googleapis.com) Used only if you enable Google ratings sync or use the Google business search / Maps-link import in the location editor, and have entered your own API key. The plugin sends the place ID or the search text / business name you provide (and never any visitor data) to retrieve business details such as name, address, phone, opening hours, rating and review count. Requests are made when you save a location, when you run a search or link import in the editor, or on the schedule you configure for ratings sync; depending on your key restrictions they run from your server or from your logged-in browser session in wp-admin. In addition, if you paste a shortened Google Maps share link (e.g. maps.app.goo.gl or goo.gl) into the “Import from Google Maps link” field, the plugin follows that link server-side to Google to resolve the full map URL before extracting the location data. All of this happens in wp-admin and only with links/searches an administrator enters; no visitor data is involved. Terms: https://cloud.google.com/maps-platform/terms — Privacy: https://policies.google.com/privacy
Google Geocoding API (maps.googleapis.com) Used only if you enable the optional admin geocoder (Settings → General) and have entered an API key. When an administrator looks up coordinates while editing a location, the entered address is sent from your server to Google to obtain latitude/longitude. No visitor data is sent. Terms: https://cloud.google.com/maps-platform/terms — Privacy: https://policies.google.com/privacy
Google Fonts (fonts.googleapis.com, fonts.gstatic.com) Web fonts are self-hosted by default and no request is made to Google. Only if you change “Web font loading” to “Load from Google” (Settings → Style) does the visitor’s browser load the selected font’s stylesheet and font files from Google, which transmits the visitor’s IP address to Google. Terms: https://developers.google.com/fonts/faq — Privacy: https://policies.google.com/privacy
Bundled libraries & source code
The plugin bundles the following third-party libraries in their official minified distribution form. The human-readable, unminified source code is publicly available in the projects’ repositories:
- Leaflet 1.9.4 (BSD-2-Clause) —
public/js/leaflet.js— source: https://github.com/Leaflet/Leaflet - Leaflet.markercluster (MIT) —
public/js/leaflet.markercluster.js— source: https://github.com/Leaflet/Leaflet.markercluster - Lucide icons (ISC) and Heroicons (MIT) — bundled as SVG data in
admin/data/icon-library.php— sources: https://github.com/lucide-icons/lucide and https://github.com/tailwindlabs/heroicons
The plugin’s own minified assets (*.min.js / *.min.css) ship alongside their readable source files in the same directories.
