{"id":398874,"date":"2026-11-12T17:11:51","date_gmt":"2026-11-12T17:11:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mentora-maps\/"},"modified":"2026-11-12T17:11:14","modified_gmt":"2026-11-12T17:11:14","slug":"mentora-maps","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/mentora-maps\/","author":23596241,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.32.0","stable_tag":"0.32.0","tested":"7.1.4","requires":"6.0","requires_php":"8.2","requires_plugins":null,"header_name":"Mentora Maps","header_author":"Mentora Labs","header_description":"Map of businesses and places, with a list beside it that stays in step: categories with icons, opening hours, photos and contacts. Built on OpenStreetMap \u2014 no API keys, and no data leaves your site.","last_updated":"2026-11-12 17:11:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.mentoralabs.it\/plugins\/maps\/","header_author_uri":"https:\/\/www.mentoralabs.it\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":66,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.32.0":{"tag":"0.32.0","author":"mentorasolutions","date":"2026-11-12 17:11:14","revision":3798891}},"upgrade_notice":{"0.32.0":"<p>If you also use Mentora Maps Pro, update Pro to 0.23.0 first: the choice to remove our badge now\nlives there. Until you do, maps that had it removed show the plugin name without a link.<\/p>","0.1.0":"<p>First version.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3798891,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3798891,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3798891,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3798891,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3798891,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.32.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3798891,"resolution":"1","location":"assets","locale":"","width":1400,"height":600},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3798891,"resolution":"2","location":"assets","locale":"","width":1400,"height":840},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3798891,"resolution":"3","location":"assets","locale":"","width":1400,"height":1200},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3798891,"resolution":"4","location":"assets","locale":"","width":1400,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3798891,"resolution":"5","location":"assets","locale":"","width":1400,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3798891,"resolution":"6","location":"assets","locale":"","width":1400,"height":900},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3798891,"resolution":"7","location":"assets","locale":"","width":1400,"height":900}},"screenshots":{"1":"Map and list side by side on a page of your site, with the markers carrying each category's icon.","2":"The activity's own page: cover, categories, address and contacts, with the links to call or write.","3":"The activity in the administration: one screen, four tabs, and the categories with their icons.","4":"Map and list: what every map starts from, and the two layouts.","5":"The activity card: a page of its own for every activity, and the line that signs it.","6":"Look: colours \u2014 the accent, the markers, the text \u2014 corners, shadows and motion, with a preview\nthat follows while you choose.","7":"Map controls: every button on the map can be switched off, and the big map has its own."}},"plugin_section":[],"plugin_tags":[4526,4595,2909,16164,6102],"plugin_category":[49],"plugin_contributors":[292350],"plugin_business_model":[],"class_list":["post-398874","plugin","type-plugin","status-publish","hentry","plugin_tags-business-directory","plugin_tags-leaflet","plugin_tags-map","plugin_tags-openstreetmap","plugin_tags-store-locator","plugin_category-maps-and-location","plugin_contributors-mentorasolutions","plugin_committers-mentorasolutions"],"banners":{"banner":"https:\/\/ps.w.org\/mentora-maps\/assets\/banner-772x250.png?rev=3798891","banner_2x":"https:\/\/ps.w.org\/mentora-maps\/assets\/banner-1544x500.png?rev=3798891","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/mentora-maps\/assets\/icon.svg?rev=3798891","icon":"https:\/\/ps.w.org\/mentora-maps\/assets\/icon.svg?rev=3798891","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/mentora-maps\/assets\/screenshot-1.png?rev=3798891","caption":"Map and list side by side on a page of your site, with the markers carrying each category's icon."},{"src":"https:\/\/ps.w.org\/mentora-maps\/assets\/screenshot-2.png?rev=3798891","caption":"The activity's own page: cover, categories, address and contacts, with the links to call or write."},{"src":"https:\/\/ps.w.org\/mentora-maps\/assets\/screenshot-3.png?rev=3798891","caption":"The activity in the administration: one screen, four tabs, and the categories with their icons."},{"src":"https:\/\/ps.w.org\/mentora-maps\/assets\/screenshot-4.png?rev=3798891","caption":"Map and list: what every map starts from, and the two layouts."},{"src":"https:\/\/ps.w.org\/mentora-maps\/assets\/screenshot-5.png?rev=3798891","caption":"The activity card: a page of its own for every activity, and the line that signs it."},{"src":"https:\/\/ps.w.org\/mentora-maps\/assets\/screenshot-6.png?rev=3798891","caption":"Look: colours \u2014 the accent, the markers, the text \u2014 corners, shadows and motion, with a preview\nthat follows while you choose."},{"src":"https:\/\/ps.w.org\/mentora-maps\/assets\/screenshot-7.png?rev=3798891","caption":"Map controls: every button on the map can be switched off, and the big map has its own."}],"raw_content":"<!--section=description-->\n<p>Mentora Maps puts your shops, restaurants, clinics or partners on a map, with a list beside it that\nstays in step: click a marker, the list follows; click an entry, the map goes there.<\/p>\n\n<p>It runs on OpenStreetMap through Leaflet. That means <strong>no API key to get, no credit card to leave, no\nquota to watch<\/strong>, and nothing to re-do the day a provider changes its prices.<\/p>\n\n<h4>What an activity holds<\/h4>\n\n<ul>\n<li>Name, description, address with postcode, town, province and country<\/li>\n<li>Coordinates, found from the address or set by dragging the marker<\/li>\n<li>Phone, mobile with WhatsApp, email, website<\/li>\n<li>Opening hours, with today's \"open now\" worked out in the reader's browser<\/li>\n<li>Photos, videos and documents, and social profiles: as many as you need<\/li>\n<li>Links and documents: menu, bookings, a price list, a PDF \u2014 each one to an address or to a file<\/li>\n<li>A category with its own icon and colour<\/li>\n<\/ul>\n\n<h4>On the page<\/h4>\n\n<ul>\n<li>Map and list side by side, the map on the left or on the right, or the map on its own<\/li>\n<li>Markers grouped when there are many, single when there are few<\/li>\n<li>Light, standard and dark views of the map<\/li>\n<li>Detail in a popup on the map, in a panel over the list, or as a sheet that rises from the bottom on\nphones, with three heights<\/li>\n<li>A page of its own for every activity, if you want one<\/li>\n<li>Search and filters above the list: by name, address, category, town, country, and \"open now\"<\/li>\n<li>Colours, corners, shadows and motion, from a panel with a live preview<\/li>\n<li>Shortcodes and a Gutenberg block<\/li>\n<\/ul>\n\n<h4>It stays yours<\/h4>\n\n<ul>\n<li>No limits on what is here: activities, photos, videos, documents, links and social profiles<\/li>\n<li>Uninstalling leaves your activities alone unless you say otherwise<\/li>\n<li>No account, no key, no call home<\/li>\n<\/ul>\n\n<h4>What Mentora Maps Pro adds<\/h4>\n\n<p>The free plugin is a whole map, not a demo, and what is in it has no limits. Pro is a separate\nplugin that adds things this one does not do:<\/p>\n\n<ul>\n<li>Import from CSV, WP Go Maps and Google Business, export to CSV and JSON, and scheduled sync<\/li>\n<li>\"Where I am\", with the distances, the distance filter and sorting by distance<\/li>\n<li>The whole card: the full week of opening hours, reviews with stars, custom fields of your own<\/li>\n<li>Accounts for your readers: saved places, reviews, notifications<\/li>\n<li>Heatmap, satellite, map styles, the scale bar, and routes with distance and time<\/li>\n<li>Backgrounds, typefaces and a size for every element, and all the layouts<\/li>\n<li>The activity's name written on the cover, instead of where your theme puts it<\/li>\n<li>Statistics of your own, and the badge removed<\/li>\n<\/ul>\n\n<p>The comparison, line by line, is inside the plugin under <strong>Activities \u2192 Pro<\/strong>.<\/p>\n\n<h4>What it talks to<\/h4>\n\n<p>One thing only, and it waits for consent: the map images come from OpenStreetMap. Everything else \u2014\nsharing a place on WhatsApp or Telegram, opening directions in Apple or Google Maps \u2014 happens when\nyour reader clicks, not before. The <strong>External services<\/strong> section below says exactly what is sent,\nto whom, and when.<\/p>\n\n<h4>What this plugin does not do<\/h4>\n\n<p>It does not phone home, does not collect statistics, and never asks your readers where they are \u2014\nthere is no \"where I am\" button in this version, so the question is never put. It does not send\nanything about them anywhere.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the services below. Two of them are contacted on their own \u2014 the map tiles,\nby your reader's browser, and the address lookup, by your site while you fill in an activity. All\nthe others are <strong>links<\/strong>: nothing is requested until somebody clicks one, and what travels is what\nis written in the link.<\/p>\n\n<p><strong>OpenStreetMap tiles<\/strong> (tile.openstreetmap.org) \u2014 the map images themselves. Requested by the\nbrowser of whoever is looking at a page with a map on it, which means their IP address and the area\nof the map they are looking at reach the tile servers. This is the only service a reader's browser\ncontacts by itself, and for that reason the map <strong>waits for cookie consent<\/strong> where a consent banner\nis installed (Complianz and iubenda are recognised): before consent it shows a notice instead of\nloading anything.\nTerms: https:\/\/operations.osmfoundation.org\/policies\/tiles\/\nPrivacy: https:\/\/osmfoundation.org\/wiki\/Privacy_Policy<\/p>\n\n<p><strong>Nominatim<\/strong> (nominatim.openstreetmap.org) \u2014 turns an address into coordinates, and coordinates\nback into an address. Called by your site, from the administration only, while you are filling in\nan activity or moving its pin: the address you typed, or the coordinates of the pin, are what gets\nsent. Never called for your readers, and never on a public page.\nTerms: https:\/\/operations.osmfoundation.org\/policies\/nominatim\/\nPrivacy: https:\/\/osmfoundation.org\/wiki\/Privacy_Policy<\/p>\n\n<p><strong>WhatsApp<\/strong> (api.whatsapp.com, wa.me) \u2014 two links, and only if you turn them on. \u00abShare\u00bb opens\nWhatsApp with the name and the address of the page already written in the message; \u00abWhatsApp\u00bb next\nto a phone number opens a chat with that number. Nothing is sent until your reader clicks, and\nnothing about your reader is added to the link.\nTerms: https:\/\/www.whatsapp.com\/legal\/terms-of-service\nPrivacy: https:\/\/www.whatsapp.com\/legal\/privacy-policy<\/p>\n\n<p><strong>Telegram<\/strong> (t.me) \u2014 the same two cases: \u00abShare\u00bb opens Telegram with the address of the page and\nthe name of the activity, and the contact link opens the chat of the username the activity has.\nOn click only.\nTerms: https:\/\/telegram.org\/tos\nPrivacy: https:\/\/telegram.org\/privacy<\/p>\n\n<p><strong>Apple Maps<\/strong> (maps.apple.com) \u2014 the \u00abDirections\u00bb link, when the reader's device is an Apple one.\nIt carries the coordinates of the activity and its name, and it opens when clicked.\nTerms: https:\/\/www.apple.com\/legal\/internet-services\/maps\/terms-en.html\nPrivacy: https:\/\/www.apple.com\/legal\/privacy\/<\/p>\n\n<p><strong>Google Maps<\/strong> (www.google.com\/maps) \u2014 the same \u00abDirections\u00bb link on everything else, with the\nsame coordinates and name. On click only.\nTerms: https:\/\/www.google.com\/intl\/en\/help\/terms_maps\/\nPrivacy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p>The social buttons of an activity \u2014 Facebook, Instagram, X, LinkedIn and the others \u2014 are plain\nlinks to the addresses <strong>you<\/strong> typed in that activity. This plugin writes nothing into them and\ncontacts nothing: they are listed here only so that the picture is complete.<\/p>\n\n<h4>Services Mentora Maps Pro can reach<\/h4>\n\n<p><strong>This package does not contain the code that talks to any of them.<\/strong> Satellite imagery, street\nrouting, Adobe Fonts, Google Fonts and the FontAwesome Kit live in the Mentora Maps Pro add-on,\nwhich is not distributed here, and each is named in full in that plugin's own readme. Installing\nthis one gives your readers' browsers exactly one destination outside your site: OpenStreetMap, for\nthe map images, after they have accepted cookies.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin through <strong>Plugins \u2192 Add new \u2192 Upload<\/strong>, or copy the folder into <code>wp-content\/plugins<\/code>.<\/li>\n<li>Activate it.<\/li>\n<li>Go to <strong>Activities \u2192 Add activity<\/strong>, write an address and press the button that looks it up.<\/li>\n<li>Put <code>[mentora_map]<\/code> in a page, or use the <strong>Activities map<\/strong> block.<\/li>\n<\/ol>\n\n<p>That is the whole setup. There is no account to create and no key to paste.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"it%20says%20my%20site%20needs%20php%208.2.%20why%3F\"><h3>It says my site needs PHP 8.2. Why?<\/h3><\/dt>\n<dd><p>Because PHP 8.1 and everything before it stopped getting security fixes, and in October 2026 PHP had\ntwo flaws that let somebody run code on a server without signing in at all. They were fixed from 8.2\nonwards; older versions were left as they were, and they will stay that way. This plugin holds the\nnames, phone numbers and email addresses of real businesses, so it does not tell WordPress it is fine\non a version of PHP with a known hole and no patch. Your host can usually move you to a newer PHP\nfrom the control panel, and it costs nothing \u2014 most of them have done it already.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20google%20maps%20key%3F\"><h3>Do I need a Google Maps key?<\/h3><\/dt>\n<dd><p>No. The map is OpenStreetMap through Leaflet, and neither needs a key or a card.<\/p><\/dd>\n<dt id=\"will%20the%20map%20work%20with%20my%20cookie%20banner%3F\"><h3>Will the map work with my cookie banner?<\/h3><\/dt>\n<dd><p>Yes. Complianz and iubenda are recognised: until the reader accepts, the map shows a notice and loads\nnothing at all \u2014 not a single tile. Which consent it waits for is up to you: Settings \u2192 Map and list \u2192\n\"Waits for consent to\" holds the category your banner files map tiles under, because banners do not\nagree on that one \u2014 many sites count a map as a necessary service and put it among the functional ones,\nwhere consent is granted to everybody. Check a page the way a visitor sees it, not the preview in here:\nin the admin there is no banner, so the map always draws. With no banner at all the map loads straight\naway, and the <code>mentora_maps_consent_category<\/code> filter still overrides the setting.<\/p><\/dd>\n<dt id=\"where%20do%20the%20coordinates%20come%20from%3F\"><h3>Where do the coordinates come from?<\/h3><\/dt>\n<dd><p>From the address, looked up with Nominatim while you are editing. You can also drag the marker, and the\naddress fields follow it.<\/p><\/dd>\n<dt id=\"how%20many%20activities%20can%20the%20free%20version%20publish%3F\"><h3>How many activities can the free version publish?<\/h3><\/dt>\n<dd><p>As many as you like. There is no limit here, and there is none on photos, videos, documents or social\nprofiles either: what this plugin does, it does all the way. Up to version 0.28.0 it published twenty\nand saved the rest as drafts; that limit is gone, and anything it had paused comes back online by\nitself when you update.<\/p><\/dd>\n<dt id=\"can%20i%20bring%20in%20what%20i%20have%20in%20another%20plugin%3F\"><h3>Can I bring in what I have in another plugin?<\/h3><\/dt>\n<dd><p>If it exports a CSV, yes, with Mentora Maps Pro. The import shows you the first rows of your file,\nlets you say which column is what, and runs a dry run before writing anything, and there are\nready-made column profiles for WP Go Maps and Google Business. None of that code is in this free\nplugin: the \u00abGet Pro\u00bb page tells you what it does, and the add-on brings it with it.<\/p><\/dd>\n<dt id=\"does%20each%20activity%20get%20its%20own%20page%3F\"><h3>Does each activity get its own page?<\/h3><\/dt>\n<dd><p>Only if you turn it on, and it is off by default: a site full of pages with two lines inside does more\nharm than good. The settings tell you how many of your activities have enough inside to deserve one.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20my%20theme%3F\"><h3>Does it work with my theme?<\/h3><\/dt>\n<dd><p>It should, including block themes. The activity page is not a template of ours fighting yours: it goes\ninside your theme's content, with your header, your footer and your widths.<\/p><\/dd>\n<dt id=\"there%20is%20a%20small%20badge%20on%20my%20map.%20can%20i%20remove%20it%3F\"><h3>There is a small badge on my map. Can I remove it?<\/h3><\/dt>\n<dd><p>Yes, and the plugin tells you about it the moment you activate it, with a button that removes the link\nright there. The badge sits in a corner of the map, next to the OpenStreetMap credit: in the free\nversion it carries our name and a link to our site, which is how the plugin gets found. You can keep the\nname without the link at any time in <strong>Settings \u2192 Map and list \u2192 Our badge<\/strong>. Removing the badge\naltogether is part of Pro.<\/p><\/dd>\n<dt id=\"is%20it%20translated%3F\"><h3>Is it translated?<\/h3><\/dt>\n<dd><p>The plugin is written in English and ships with an Italian translation.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20a%20multilingual%20site%3F\"><h3>Does it work with a multilingual site?<\/h3><\/dt>\n<dd><p>Yes. Your activities are an ordinary custom post type and the categories an ordinary taxonomy, so\nWPML, Polylang and TranslatePress all see them once you switch them on in their own settings. The\nplugin ships a <code>wpml-config.xml<\/code>, which WPML and Polylang read, so they already know what to do with\neach field: the address, the town and the labels of your links are copied when a translation is\ncreated and are then yours to change, while the coordinates, the phone numbers, the opening hours\nand the photos stay identical in every language. Ratings and statistics are left alone, so one\nlanguage never overwrites another's.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.32.0<\/h4>\n\n<ul>\n<li><strong>The badge on your maps.<\/strong> This plugin offers two choices \u2014 the name with a link, or the name\nalone \u2014 and the code that removed it altogether is no longer part of it. If you have Mentora Maps\nPro and had chosen to remove the badge, <strong>update Pro to 0.23.0 first<\/strong>: that choice now lives\nthere. Until you do, your maps show the name alone.<\/li>\n<li><strong>Cropper.js updated to 2.3.1 and pdf.js to 6.5.438<\/strong>, the current stable releases of both. The\ncrop window for the profile and cover images works as before \u2014 pick the frame, rotate a quarter\nturn, save \u2014 and the cropping itself still happens on your server, on a copy, leaving the original\nin your media library. Leaflet 1.9.4 and MarkerCluster 1.5.3 were already current and are\nunchanged.<\/li>\n<li>Field values are cleaned by this plugin <strong>before<\/strong> any extension refines them, and whatever an\nextension hands back is checked again before it is saved.<\/li>\n<\/ul>\n\n<h4>0.31.1<\/h4>\n\n<ul>\n<li>The plugin header, the licence and the translation template now carry the current company name,\nMentora Labs. Nothing else changed: same files, same behaviour.<\/li>\n<\/ul>\n\n<h4>0.31.0<\/h4>\n\n<ul>\n<li>The <strong>Pro<\/strong> page under Activities is now two plain lists \u2014 what this plugin does, and what the\nseparate Pro plugin adds \u2014 instead of a three-column table with a red cross on every line this\nplugin does not do. Same information, and the half that was missing is now written down: what you\nalready have, with no limits.<\/li>\n<\/ul>\n\n<p>Older versions are listed in changelog.txt, next to this file.<\/p>","raw_excerpt":"A map of your places, with a list beside it that stays in step. Built on OpenStreetMap: no API keys, and your visitors' data stays with you.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/398874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=398874"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mentorasolutions"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=398874"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=398874"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=398874"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=398874"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=398874"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=398874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}