[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fWyL-1-i3t3pEHexR4EOTWFplas4N9zz-cpHpVjdtTxk":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":93,"crawl_stats":38,"alternatives":100,"analysis":201,"fingerprints":841},"ultimate-maps-by-supsystic","Ultimate Maps by Supsystic","1.2.23","supsystic","https:\u002F\u002Fprofiles.wordpress.org\u002Fsupsysticcom\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fplugins\u002Fultimate-maps\u002F?utm_source=wordpress&utm_medium=description&utm_campaign=ultimate-maps\" title=\"Ultimate Maps WordPress plugin by Supsystic\" rel=\"nofollow ugc\">Supsystic Ultimate Maps plugin\u003C\u002Fa> was developed after the changes in Google maps pricing policy. According to the new rules, using Google maps is becoming too expensive for websites with large traffic. Therefore, Supsystic team provides users with the Google Maps alternatives:\u003Cbr \u002F>\n* Bing maps\u003Cbr \u002F>\n* OpenStreetMap or OSM\u003Cbr \u002F>\n* Leaflet maps\u003Cbr \u002F>\n* Mapbox\u003Cbr \u002F>\n* Thunderforest\u003C\u002Fp>\n\u003Ch4>Ultimate Maps Plugin Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Google Maps alternatives: Bing Maps, Leaflet, Mapbox, Thunderforest\u003C\u002Fli>\n\u003Cli>Online Ultimate Maps builder\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fexample\u002Fmarker-description?utm_source=wordpress&utm_medium=Unlimitedmarkers&utm_campaign=ultimate-maps\" title=\"Unlimited Number of Map Markers\" rel=\"nofollow ugc\">Unlimited markers\u003C\u002Fa> with description, links, images, videos and more\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fdocumentation\u002Fmarkers-categories?utm_source=wordpress&utm_medium=Markerscategories&utm_campaign=ultimate-maps\" title=\"Markers categories\" rel=\"nofollow ugc\">Markers categories\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fully responsive\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fdocumentation\u002Fultimate_maps_properties_settings?utm_source=wordpress&utm_medium=PropertiesCustomizing&utm_campaign=ultimate-maps\" title=\"Maps Properties Customizing\" rel=\"nofollow ugc\">100% customizable\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Add map via shortcode or PHP code\u003C\u002Fli>\n\u003Cli>Maps and Markers \u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fdocumentation\u002Fultimate_maps_export-import?utm_source=wordpress&utm_medium=export-import&utm_campaign=ultimate-maps\" title=\"Import and Export\" rel=\"nofollow ugc\">Import and Export\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fexample\u002Fexposition-slider?utm_source=wordpress&utm_medium=exposition-slider&utm_campaign=ultimate-maps\" title=\"Exposition slider\" rel=\"nofollow ugc\">Map with Exposition slider\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fexample\u002Fkml-layer?utm_source=wordpress&utm_medium=kml-layer&utm_campaign=ultimate-maps\" title=\"KML layer\" rel=\"nofollow ugc\">KML layers Import and \u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fexample\u002Fclustering?utm_source=wordpress&utm_medium=clustering&utm_campaign=ultimate-maps\" title=\"Ultimate Maps Clustering\" rel=\"nofollow ugc\">Map Markers Clustering\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fexample\u002Flinked-markers?utm_source=wordpress&utm_medium=linked-markers&utm_campaign=ultimate-maps\" title=\"Map Stylization\" rel=\"nofollow ugc\">Maps Themes and Styles\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fexample\u002Fhorizontal-slider-ultimate-maps?utm_source=wordpress&utm_medium=horizontal-slider&utm_campaign=ultimate-maps\" title=\"Horizontale Slider\" rel=\"nofollow ugc\">Ultimate Maps markers with slider mode\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fexample\u002Fultimate-maps-shape\u002F?utm_source=wordpress&utm_medium=Shapesexample&utm_campaign=ultimate-maps\" title=\"Shapes on the Map\" rel=\"nofollow ugc\">Shapes\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fexample\u002Flinked-markers?utm_source=wordpress&utm_medium=linked-markers&utm_campaign=ultimate-maps\" title=\"Linked markers\" rel=\"nofollow ugc\">Linked markers\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>More \u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fultimate-maps-examples?utm_source=wordpress&utm_medium=examples&utm_campaign=ultimate-maps\" title=\"Ultimate Maps Exampes\" rel=\"nofollow ugc\">Ultimate Maps Exampes\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Create \u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fplugins\u002Fultimate-maps\u002F?utm_source=wordpress&utm_medium=description&utm_campaign=ultimate-maps\" title=\"Ultimate Maps WordPress plugin\" rel=\"nofollow ugc\">Ultimate Maps\u003C\u002Fa> with unlimited markers on the WordPress website or blog in a minute. Integrated with Bing maps, OpenStreetMap or OSM: Mapbox, Thunderforest, Leaflet. Best Google Maps alternative WordPress plugin. Fully customizable, user-friendly and responsive. Map markers with any media: video and text descriptions. Easy to add into a page via shortcodes or use \u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fdocumentation\u002Fultimate-maps-widget?utm_source=wordpress&utm_medium=ultimate-maps-widget&utm_campaign=ultimate-maps\" title=\"Ultimate Maps Widget\" rel=\"nofollow ugc\">Ultimate Maps widget\u003C\u002Fa>. An ultimate solution to display a map on the contact page, routes, real estates, delivery areas and more. Use a map on your website to help your clients in discovering your location.\u003C\u002Fp>\n\u003Cp>Video tutorial how to set up Ultimate Maps by Supsystic\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FlhQoubZAZlg?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch4>Ultimate Maps Plugin Support\u003C\u002Fh4>\n\u003Cp>If you have any problem or custom feature request for the \u003Ca href=\"https:\u002F\u002Fsupsystic.com\u002Fplugins\u002Fultimate-maps\u002F?utm_source=wordpress&utm_medium=description&utm_campaign=ultimate-maps\" title=\"Ultimate Maps\" rel=\"nofollow ugc\">Ultimate Maps by Supsystic\u003C\u002Fa>, please \u003Ca href=\"http:\u002F\u002Fsupsystic.com\u002Fcontact-us?utm_source=wordpress&utm_medium=contactus&utm_campaign=ultimate-maps\" title=\"Contact Us\" rel=\"nofollow ugc\">let us know\u003C\u002Fa>!\u003C\u002Fp>\n\u003Ch4>Google Maps Easy by Supsystic\u003C\u002Fh4>\n\u003Cp>Prefer to use a Google Maps? Create Google Maps in a minute with our \u003Ca href=\"https:\u002F\u002Fru.wordpress.org\u002Fplugins\u002Fgoogle-maps-easy\" title=\"Google Maps Easy\" rel=\"nofollow ugc\">Google Maps Easy WordPress plugin\u003C\u002Fa>.\u003Cbr \u002F>\nGoogle Map markers with any media, location, video and text descriptions. Easy to add google map with shortcode, open it in a popup or use google map widget. A great solution to display google map on the contact page, routes, real estates, delivery areas and more.\u003C\u002Fp>\n","Ultimate Maps by Supsystic is the best Google Maps alternative. It includes OpenStreetMap (OSM), Bing Maps, MapBox and Thunderforest maps services",10000,300634,92,86,"2025-11-26T06:30:00.000Z","6.8.5","","7.4",[20,21,22,23,24],"bing-map","leaflet","map-plugin","openstreetmap","wordpress-map","https:\u002F\u002Fsupsystic.com\u002Fplugins\u002Fultimate-maps\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fultimate-maps-by-supsystic.1.2.23.zip",96,4,0,"2024-04-05 00:00:00","2026-03-15T15:16:48.613Z",[33,49,64,78],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":40,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":30,"updated_date":45,"references":46,"days_to_patch":48},"CVE-2024-31271","ultimate-maps-by-supsystic-cross-site-request-forgery","Ultimate Maps by Supsystic \u003C= 1.2.16 - Cross-Site Request Forgery","The Ultimate Maps by Supsystic plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 1.2.16. This is due to missing or incorrect nonce validation on a function. This makes it possible for unauthenticated attackers to perform an unauthorized action via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.",null,"\u003C=1.2.16","1.2.17","medium",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Cross-Site Request Forgery (CSRF)","2024-04-11 15:03:46",[47],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F3b4108b7-fa78-4f1f-9eee-0e2383b4988c?source=api-prod",7,{"id":50,"url_slug":51,"title":52,"description":53,"plugin_slug":4,"theme_slug":38,"affected_versions":54,"patched_in_version":55,"severity":41,"cvss_score":56,"cvss_vector":57,"vuln_type":58,"published_date":59,"updated_date":60,"references":61,"days_to_patch":63},"CVE-2023-6732","ultimate-maps-by-supsystic-authenticated-admin-stored-cross-site-scripting","Ultimate Maps by Supsystic \u003C= 1.2.15 - Authenticated (Admin+) Stored Cross-Site Scripting","The Ultimate Maps by Supsystic plugin for WordPress is vulnerable to Stored Cross-Site Scripting via admin settings in all versions up to, and including, 1.2.15 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with administrator-level permissions and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This only affects multi-site installations and installations where unfiltered_html has been disabled.","\u003C=1.2.15","1.2.16",4.4,"CVSS:3.1\u002FAV:N\u002FAC:H\u002FPR:H\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2024-01-12 00:00:00","2024-02-06 14:55:16",[62],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fd170af2a-9b8c-43ad-b712-b89bcfadd5b7?source=api-prod",26,{"id":65,"url_slug":66,"title":67,"description":68,"plugin_slug":4,"theme_slug":38,"affected_versions":69,"patched_in_version":70,"severity":41,"cvss_score":71,"cvss_vector":72,"vuln_type":58,"published_date":73,"updated_date":74,"references":75,"days_to_patch":77},"CVE-2021-24274","ultimate-maps-by-supsystic-reflected-cross-site-scripting","Ultimate Maps by Supsystic \u003C= 1.2.4 - Reflected Cross-Site scripting","The Ultimate Maps by Supsystic WordPress plugin before 1.2.5 did not sanitise the tab parameter of its options page before outputting it in an attribute, leading to a reflected Cross-Site Scripting issue","\u003C=1.2.4","1.2.5",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","2021-04-19 00:00:00","2024-01-22 19:56:02",[76],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fd5848d3a-d6a8-4e56-9012-9d600a3cf7fa?source=api-prod",1009,{"id":79,"url_slug":80,"title":81,"description":82,"plugin_slug":4,"theme_slug":38,"affected_versions":83,"patched_in_version":84,"severity":85,"cvss_score":86,"cvss_vector":87,"vuln_type":88,"published_date":89,"updated_date":74,"references":90,"days_to_patch":92},"WF-758e23e4-72e6-4dc1-94f9-d02b75bb9857-ultimate-maps-by-supsystic","ultimate-maps-by-supsystic-authenticated-sql-injection","Ultimate Maps by Supsystic \u003C= 1.1.16 - Authenticated SQL Injection","The Ultimate Maps by Supsystic plugin for WordPress is vulnerable to SQL Injection in versions up to, and including, 1.1.16 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query.  This makes it possible for authenticated-level attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.","\u003C1.1.17","1.1.17","high",7.2,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:H\u002FUI:N\u002FS:U\u002FC:H\u002FI:H\u002FA:H","Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')","2021-02-08 00:00:00",[91],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F758e23e4-72e6-4dc1-94f9-d02b75bb9857?source=api-prod",1079,{"slug":94,"display_name":7,"profile_url":8,"plugin_count":48,"total_installs":95,"avg_security_score":96,"avg_patch_time_days":97,"trust_score":98,"computed_at":99},"supsysticcom",97000,90,610,72,"2026-04-04T00:40:54.492Z",[101,125,147,166,185],{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":109,"downloaded":110,"rating":111,"num_ratings":112,"last_updated":113,"tested_up_to":114,"requires_at_least":115,"requires_php":17,"tags":116,"homepage":120,"download_link":121,"security_score":122,"vuln_count":123,"unpatched_count":29,"last_vuln_date":124,"fetched_at":31},"leaflet-map","Leaflet Map","3.4.3","bozdoz","https:\u002F\u002Fprofiles.wordpress.org\u002Fbozdoz\u002F","\u003Cp>Add a map generated with \u003Ca href=\"http:\u002F\u002Fleafletjs.com\u002F\" rel=\"nofollow ugc\">LeafletJS\u003C\u002Fa>: an open-source JavaScript library for mobile-friendly interactive maps. Map tiles are provided by default through \u003Ca href=\"http:\u002F\u002Fwww.openstreetmap.org\u002F\" rel=\"nofollow ugc\">OpenStreetMap\u003C\u002Fa>, or \u003Ca href=\"https:\u002F\u002Fwww.mapquest.ca\u002F\" rel=\"nofollow ugc\">MapQuest\u003C\u002Fa> (with an app key).  Can be set per map with shortcode attributes or through the dashboard settings.\u003C\u002Fp>\n\u003Ch4>Maps\u003C\u002Fh4>\n\u003Cp>Simply create a \u003Cstrong>map\u003C\u002Fstrong> with:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Lookup an address with:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map address=\"chicago\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Know the latitude and longitude of a location? Use them (and a zoom level) with:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map lat=44.67 lng=-63.61 zoom=5]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Add a \u003Cstrong>marker\u003C\u002Fstrong> under your map shortcode, like so:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map]\n[leaflet-marker]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Want more? Make more (and fit the map to contain all of them):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map fitbounds]\n[leaflet-marker address=\"tokyo\"]\n[leaflet-marker address=\"oslo\"]\n[leaflet-marker address=\"cairo\"]\n[leaflet-marker address=\"toronto\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You can even add \u003Cstrong>popups\u003C\u002Fstrong> (to any shape) with their names:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map fitbounds]\n[leaflet-marker address=\"tokyo\"]Tokyo[\u002Fleaflet-marker]\n[leaflet-marker address=\"oslo\"]Oslo[\u002Fleaflet-marker]\n...\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Add a link to the popup messages the same way you would add any other link with the WordPress editor.\u003C\u002Fp>\n\u003Ch4>Other Shapes, GeoJSON, and KML\u003C\u002Fh4>\n\u003Cp>Add a line to the map by adding \u003Ccode>[leaflet-line]\u003C\u002Fcode>. You can specify the postions with a list separated by semi-colon \u003Ccode>;\u003C\u002Fcode> or bar \u003Ccode>|\u003C\u002Fcode> using lat\u002Flng: \u003Ccode>[leaflet-line latlngs=\"41, 29; 44, 18\"]\u003C\u002Fcode> or addresses: \u003Ccode>[leaflet-line addresses=\"Istanbul; Sarajevo\"]\u003C\u002Fcode>, or x\u002Fy coordinates for image maps.\u003C\u002Fp>\n\u003Cp>Add a circle to the map by adding \u003Ccode>[leaflet-circle]\u003C\u002Fcode>. You can specify the position using \u003Ccode>lat\u003C\u002Fcode> and \u003Ccode>lng\u003C\u002Fcode> and the radius in meters using \u003Ccode>radius\u003C\u002Fcode>. You can also customize the style using \u003Ca href=\"https:\u002F\u002Fleafletjs.com\u002Freference.html#path-option\" rel=\"nofollow ugc\">Leaflet’s Path options\u003C\u002Fa>. Example: \u003Ccode>[leaflet-circle message=\"max distance\" lng=5.117909610271454 lat=52.097914814706094 radius=17500 color=\"#0DC143\" fillOpacity=0.1]\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Or you can add a geojson shape via a url (make sure you are allowed to access it if it’s not hosted on your own server): \u003Ccode>[leaflet-geojson src=\"https:\u002F\u002Fexample.com\u002Fpath\u002Fto.geojson\"]\u003C\u002Fcode>.  Add custom popups with field names; try out the default src file and fields like so:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map fitbounds]\n[leaflet-geojson]{name}[\u002Fleaflet-geojson]\n\n\nname is a property on that GeoJSON, and it can be accessed with curly brackets and the property name.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Image Maps\u003C\u002Fh4>\n\u003Cp>Alternatively, you could use a plain image for visitors to zoom and pan around with \u003Ccode>[leaflet-image src=\"path\u002Fto\u002Fimage\u002Ffile.jpg\"]\u003C\u002Fcode>.  See screenshots 3 – 5 for help setting that up.\u003C\u002Fp>\n\u003Ch4>More\u003C\u002Fh4>\n\u003Cp>Check out other examples on the Shortcode Helper page in the Leaflet Map admin section.\u003C\u002Fp>\n\u003Cp>Check out the \u003Cstrong>source code\u003C\u002Fstrong> and \u003Cstrong>more\u003C\u002Fstrong> details on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbozdoz\u002Fwp-plugin-leaflet-map\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>!\u003C\u002Fp>\n","Interactive maps and markers on your posts and pages with simple shortcodes.",30000,502403,98,58,"2026-01-16T05:05:00.000Z","6.9.4","4.6",[117,21,118,119,23],"interactive","map","mapquest","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fleaflet-map\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fleaflet-map.3.4.3.zip",99,3,"2023-09-20 00:00:00",{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":109,"downloaded":133,"rating":134,"num_ratings":135,"last_updated":136,"tested_up_to":16,"requires_at_least":137,"requires_php":138,"tags":139,"homepage":143,"download_link":144,"security_score":134,"vuln_count":145,"unpatched_count":29,"last_vuln_date":146,"fetched_at":31},"mappress-google-maps-for-wordpress","MapPress Maps for WordPress","2.95.10","chrisvrichardson","https:\u002F\u002Fprofiles.wordpress.org\u002Fchrisvrichardson\u002F","\u003Cp>MapPress is the easiest way to add unlimited, beautiful interactive Google and Leaflet maps to WordPress.\u003C\u002Fp>\n\u003Cp>Create \u003Cstrong>unlimited maps and markers\u003C\u002Fstrong> using Gutenberg blocks or the classic editor.  The popup map editor makes creating and editing maps easy!\u003C\u002Fp>\n\u003Cp>Upgrade to \u003Ca href=\"https:\u002F\u002Fmappresspro.com\u002Fmappress\" rel=\"nofollow ugc\">MapPress Pro\u003C\u002Fa> for even more features, including custom icons (with a built-in icon editor!), search and filter, clustering, and much more.  See it in action on the \u003Ca href=\"https:\u002F\u002Fmappresspro.com\u002Fmappress\" rel=\"nofollow ugc\">MapPress Home Page\u003C\u002Fa> or test it yourself with a \u003Ca href=\"https:\u002F\u002Fmappresspro.com\u002Fdemo\" rel=\"nofollow ugc\">Free Demo Site\u003C\u002Fa>!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fmappresspro.com\u002Fmappress\" rel=\"nofollow ugc\">Home Page\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fmappresspro.com\u002Fwhats-new\" rel=\"nofollow ugc\">What’s New\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fmappresspro.com\u002Fmappress-documentation\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fmappresspro.com\u002Fmappress-faq\" rel=\"nofollow ugc\">FAQ\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fmappresspro.com\u002Fmappress-faq\" rel=\"nofollow ugc\">Support\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Upgrade\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Deactivate your old MapPress version\u003C\u002Fli>\n\u003Cli>Delete your old MapPress version (don’t worry, the maps are saved in the database)\u003C\u002Fli>\n\u003Cli>Follow the installation instructions to install the new version\u003C\u002Fli>\n\u003C\u002Fol>\n","MapPress is the easiest way to add unlimited interactive Google and Leaflet maps to WordPress.",4769786,94,146,"2026-02-03T05:58:00.000Z","5.9.5","7.0",[140,21,22,141,142],"google-maps","maps","store-locator","https:\u002F\u002Fwww.mappresspro.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmappress-google-maps-for-wordpress.2.95.10.zip",14,"2025-03-27 00:00:00",{"slug":148,"name":149,"version":150,"author":151,"author_profile":152,"description":153,"short_description":154,"active_installs":155,"downloaded":156,"rating":13,"num_ratings":157,"last_updated":158,"tested_up_to":159,"requires_at_least":160,"requires_php":161,"tags":162,"homepage":164,"download_link":165,"security_score":13,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"acf-openstreetmap-field","ACF OpenStreetMap Field","1.6.1","podpirate","https:\u002F\u002Fprofiles.wordpress.org\u002Fpodpirate\u002F","\u003Cp>Hazzle free OpenStreetMap with \u003Ca href=\"https:\u002F\u002Fwww.advancedcustomfields.com\u002F\" rel=\"nofollow ugc\">ACF\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch4>In the Fieldgroup editor:\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Return Format:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cem>Raw data\u003C\u002Fem> will return an array holding the field configuration.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cem>Leaflet JS\u003C\u002Fem> will return a fully functional leaflet map. Just include \u003Ccode>\u003C?php the_field('my_field_name'); ?>\u003C\u002Fcode> in your Theme.\u003Cbr \u002F>\nYou can choose from a long list of map styles and it supports multiple markers.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cem>iFrame (OpenStreetMap.org)\u003C\u002Fem> Will return an iFrame HTML. Only four map styles are supported\u003Cbr \u002F>\n– the ones you find on \u003Ca href=\"https:\u002F\u002Fwww.openstreetmap.org\u002F\" rel=\"nofollow ugc\">OpenStreetMap\u003C\u002Fa> – and not more than one marker.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Map Appearance:\u003C\u002Fstrong> Pan and zoom on the map and select from the Map layers to set the initial map position and style in the editor.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Map Position:\u003C\u002Fstrong> If you’re more like a numbers person here you can enter numeric values for the map position.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Allow layer selection:\u003C\u002Fstrong> Allow the editors to select which map layers to show up in the frontend.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Height:\u003C\u002Fstrong> Map height in the frontend and editor.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Max. number of Markers\u003C\u002Fstrong>\u003Cbr \u002F>\n – \u003Cem>No value:\u003C\u002Fem> infinite markers\u003Cbr \u002F>\n – \u003Cem>0:\u003C\u002Fem> No markers\u003Cbr \u002F>\n – \u003Cem>Any other value:\u003C\u002Fem> Maximum number of markers. If the return format is \u003Cem>iFrame\u003C\u002Fem> there can ony be one marker.\u003C\u002Fp>\n\u003Ch3>Map Proxy\u003C\u002Fh3>\n\u003Cp>The plugin comes with a proxy mechanism for map tiles. If enabled the Browser will load the tiles from your server rather than directly from the tile provider.\u003C\u002Fp>\n\u003Cp>Use the proxy to hide sensitive credentials from the users out there or if you have to comply with local privacy regulations. the European GDPR.\u003C\u002Fp>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cp>Please head over to the source code \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcguffin\u002Facf-openstreetmap-field\" rel=\"nofollow ugc\">on Github\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.advancedcustomfields.com\u002F\" rel=\"nofollow ugc\">ACF\u003C\u002Fa> for sure!\u003C\u002Fli>\n\u003Cli>The \u003Ca href=\"https:\u002F\u002Fwww.openstreetmap.org\u002F\" rel=\"nofollow ugc\">OpenStreetMap\u003C\u002Fa> project\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fleafletjs.com\u002F\" rel=\"nofollow ugc\">The Leaflet Project\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>The maintainers and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fleaflet-extras\u002Fleaflet-providers\u002Fgraphs\u002Fcontributors\" rel=\"nofollow ugc\">contributors\u003C\u002Fa> of \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fleaflet-extras\u002Fleaflet-providers\" rel=\"nofollow ugc\">Leaflet providers\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>The \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fperliedman\u002Fleaflet-control-geocoder\u002Fgraphs\u002Fcontributors\" rel=\"nofollow ugc\">very same\u003C\u002Fa> for \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fperliedman\u002Fleaflet-control-geocoder\" rel=\"nofollow ugc\">Leaflet Control Geocode\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.domoritz.de\u002F\" rel=\"nofollow ugc\">Dominik Moritz\u003C\u002Fa> who delighted us with \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdomoritz\u002Fleaflet-locatecontrol\" rel=\"nofollow ugc\">Leaflet locate control\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Numerous individuals and organizations who provide wonderful Map related services free of charge. (You are credited in the map, I hope)\u003C\u002Fli>\n\u003Cli>The proxy feature was inspired by an article by Klaus Meffert, Dr. DSGVO Blog, \u003Ca href=\"https:\u002F\u002Fdr-dsgvo.de\u002Fdatenschutzfreundliches-karten-plugin-fur-webseiten-statt-google-maps-neue-moglichkeiten\" rel=\"nofollow ugc\">Link (German)\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","A configurable OpenStreetMap Field for ACF.",9000,133634,24,"2024-12-22T11:45:00.000Z","6.7.5","4.8","5.6",[163],"map-acf-openstreetmap-leaflet","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Facf-openstreetmap-field","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Facf-openstreetmap-field.1.6.1.zip",{"slug":167,"name":168,"version":169,"author":170,"author_profile":171,"description":172,"short_description":173,"active_installs":174,"downloaded":175,"rating":111,"num_ratings":48,"last_updated":176,"tested_up_to":114,"requires_at_least":177,"requires_php":178,"tags":179,"homepage":181,"download_link":182,"security_score":122,"vuln_count":183,"unpatched_count":29,"last_vuln_date":184,"fetched_at":31},"ootb-openstreetmap","Out of the Block: OpenStreetMap","2.11.0","Giorgos Sarigiannidis","https:\u002F\u002Fprofiles.wordpress.org\u002Fgsarig\u002F","\u003Cp>A map block for Gutenberg which uses \u003Ca href=\"https:\u002F\u002Fwww.openstreetmap.org\" rel=\"nofollow ugc\">OpenStreetMap\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fleafletjs.com\" rel=\"nofollow ugc\">Leaflet.js\u003C\u002Fa>. It needs no API keys and works out of the box (or, out of the Block, if you prefer). Benefiting from Gutenberg’s potential, the plugin tries a different take on how to add your locations on the map and rethinks a few things, UX-wise.\u003C\u002Fp>\n\u003Cp>Instead of manually adding coordinates for each one of your markers, just click-and-drop them directly on the map. You want to adjust their position? Just drag them wherever you want. And instead of filling-in custom fields to set each marker’s popup content, just open that popup and start writing in it, the Gutenberg way (it supports WYSIWYG editing, with links, images, and all). It even stores the map’s zoom level as you use it so that you don’t have to set it by hand.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FFGe7zJnrIgo?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgsarig\u002Footb-openstreetmap\" rel=\"nofollow ugc\">Follow the project’s development on GitHub\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgsarig\u002Footb-openstreetmap\u002Freleases\" rel=\"nofollow ugc\">Release history\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fusers\u002Fgsarig\u002Fprojects\u002F1\" rel=\"nofollow ugc\">Roadmap\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgsarig\u002Footb-openstreetmap?tab=readme-ov-file#hooks\" rel=\"nofollow ugc\">Hooks🪝\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgsarig\u002Footb-openstreetmap?tab=readme-ov-file#shortcodes\" rel=\"nofollow ugc\">Shortcodes\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>No need for API keys. Just install and use it.\u003C\u002Fli>\n\u003Cli>Support for multiple markers.\u003C\u002Fli>\n\u003Cli>Support for a different icon per marker.\u003C\u002Fli>\n\u003Cli>Support for polygons and polylines.\u003C\u002Fli>\n\u003Cli>Marker clustering: group nearby markers into clusters that expand as you zoom in.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.gsarigiannidis.gr\u002Fwordpress-gutenberg-map-block-openstreetmap\u002F\" rel=\"nofollow ugc\">Dead-simple interface\u003C\u002Fa>. Don’t search for coordinates and don’t get overwhelmed by too many fields when using multiple markers. Just point and click on the map to add your marker where you want it and edit it’s popup content directly from there.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.gsarigiannidis.gr\u002Fopenstreetmap-place-search\u002F\" rel=\"nofollow ugc\">Place search\u003C\u002Fa>. Find locations by typing keywords.\u003C\u002Fli>\n\u003Cli>Remembers the zoom that you set when adding the markers and stores it so that you don’t set it by hand (which you can do anyway if you prefer).\u003C\u002Fli>\n\u003Cli>AI integration which allows you to add markers by using commands in natural language. Just say “please” to activate (e.g. “Please, show me where GOT was filmed”). Requires an API key from an AI Provider. \u003Ca href=\"https:\u002F\u002Fwww.gsarigiannidis.gr\u002Fopenstreetmap-openai-integration\u002F\" rel=\"nofollow ugc\">Read more\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Query Maps: Supports creating a map out of maps added on other posts or post types. This can be quite powerful when, for example, you have a custom post type for “Places” with each place having its own map, and you want to dynamically gather-up all the places on a single map.\u003C\u002Fli>\n\u003Cli>Shortcode support: You can use the shortcode \u003Ccode>[ootb_query]\u003C\u002Fcode> as an alternative way to use the aforementioned Query Maps feature (see the FAQ for more info).\u003C\u002Fli>\n\u003Cli>Support for a location custom field, which can be used to store a post’s or post type’s location, following the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FGeodata\" rel=\"nofollow ugc\">Geodata guidelines\u003C\u002Fa>. Read more in the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgsarig\u002Footb-openstreetmap\u002Freleases\u002Ftag\u002F2.8.0\" rel=\"nofollow ugc\">v.2.8.0 release notes\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Adjust the map height.\u003C\u002Fli>\n\u003Cli>Change the default marker icon with a custom one.\u003C\u002Fli>\n\u003Cli>Enable or disable map dragging.\u003C\u002Fli>\n\u003Cli>Enable or disable touch zoom.\u003C\u002Fli>\n\u003Cli>Enable or disable double-click zoom.\u003C\u002Fli>\n\u003Cli>Enable or disable scroll wheel zoom.\u003C\u002Fli>\n\u003Cli>Set a minimum and maximum limit that the user can zoom on the frontend. Setting the same value to both fields will lock the zoom at that level.\u003C\u002Fli>\n\u003Cli>Support for other Layer Providers: MapBox (using your own API key) and Stamen.\u003C\u002Fli>\n\u003Cli>Option to export locations in a JSON file\u003C\u002Fli>\n\u003Cli>Option to import locations from a JSON file\u003C\u002Fli>\n\u003C\u002Ful>\n","A map block for Gutenberg using OpenStreetMap and Leaflet that needs no API keys and works out of the box. Or should we say, ...Out of the Block?",800,22089,"2026-03-14T22:05:00.000Z","6.6","8.1",[180,140,21,118,23],"block","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Footb-openstreetmap\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Footb-openstreetmap.2.11.0.zip",1,"2024-12-12 22:57:05",{"slug":186,"name":187,"version":188,"author":189,"author_profile":190,"description":191,"short_description":192,"active_installs":193,"downloaded":194,"rating":195,"num_ratings":183,"last_updated":196,"tested_up_to":114,"requires_at_least":115,"requires_php":161,"tags":197,"homepage":199,"download_link":200,"security_score":195,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"easy-map","Easy Map – Store Locator, Google Maps, OpenStreetMap, Leaflet Map","1.8.10","Nashir Uddin","https:\u002F\u002Fprofiles.wordpress.org\u002Fnashirbabu\u002F","\u003Cp>\u003Cstrong>Easy Map\u003C\u002Fstrong> is a powerful yet lightweight WordPress mapping plugin that lets you create interactive maps in minutes – no coding required.\u003C\u002Fp>\n\u003Cp>Built on \u003Ca href=\"https:\u002F\u002Fleafletjs.com\u002F\" rel=\"nofollow ugc\">LeafletJS\u003C\u002Fa>, the industry-leading open-source JavaScript library for mobile-friendly maps, Easy Map works out-of-the-box with \u003Ca href=\"https:\u002F\u002Fwww.openstreetmap.org\u002F\" rel=\"nofollow ugc\">OpenStreetMap\u003C\u002Fa> – \u003Cstrong>no API key needed\u003C\u002Fstrong>. Optionally integrate \u003Ca href=\"https:\u002F\u002Fwww.google.com\u002Fmaps\" rel=\"nofollow ugc\">Google Maps\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fwww.bing.com\u002Fmaps\" rel=\"nofollow ugc\">Bing Maps\u003C\u002Fa> with your API key.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpeasysoft.com\u002Feasy-map-demo\u002F\" rel=\"nofollow ugc\">Map Demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwpeasysoft.com\u002Fstore-locator-demo\u002F\" rel=\"nofollow ugc\">Store Locator Demo\u003C\u002Fa> | \u003Ca href=\"mailto:nashirbabu@gmail.com\" rel=\"nofollow ugc\">Support\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>Why Choose Easy Map?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Works Instantly\u003C\u002Fstrong> – Uses OpenStreetMap by default, no API key required\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unlimited Locations\u003C\u002Fstrong> – Add as many markers as you need\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Store Locator Built-in\u003C\u002Fstrong> – Complete store finder with category filtering\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Drawing Tools\u003C\u002Fstrong> – Create polylines, polygons, rectangles, and circles\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg Ready\u003C\u002Fstrong> – Full block editor support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mobile Responsive\u003C\u002Fstrong> – Perfect display on all devices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lightweight & Fast\u003C\u002Fstrong> – Optimized for performance\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Multiple Map Providers\u003C\u002Fstrong>\u003Cbr \u002F>\nChoose from OpenStreetMap (free), Google Maps, or Bing Maps tile layers.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Unlimited Markers & Locations\u003C\u002Fstrong>\u003Cbr \u002F>\nAdd unlimited location markers with rich HTML popup content, including images and media.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Store Locator with Categories\u003C\u002Fstrong>\u003Cbr \u002F>\nBuilt-in store locator with category filtering, perfect for multi-location businesses.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Comprehensive Drawing Tools\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate polylines (routes), polygons (areas), rectangles, circles, and circle markers directly on your maps.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Flexible Shortcodes\u003C\u002Fstrong>\u003Cbr \u002F>\nUse auto-generated shortcodes or customize with manual parameters:\u003Cbr \u002F>\n    [easy-map ID=”168″]\u003Cbr \u002F>\n    [easy-map-store-locator ID=”1″]\u003Cbr \u002F>\n    [easy-map lat=’37.28′ lon=’-122.05′ zoom=’12’]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Full Customization\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Adjustable map height\u003C\u002Fli>\n\u003Cli>Zoom controls with position options\u003C\u002Fli>\n\u003Cli>Scroll wheel zoom toggle\u003C\u002Fli>\n\u003Cli>Full-screen mode\u003C\u002Fli>\n\u003Cli>Popup behavior settings (auto-open or click)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Gutenberg Block Editor\u003C\u002Fstrong>\u003Cbr \u002F>\nSeamlessly integrate maps using the “Easy Leaflet Map” block with live preview.\u003C\u002Fp>\n\u003Ch4>Perfect For Any Business\u003C\u002Fh4>\n\u003Cp>Easy Map provides a complete map solution for businesses of all sizes. Whether you need a simple store locator or an advanced multi-location directory, Easy Map delivers.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Retail & Store Locator\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate a store finder for your retail chain, franchise network, or multi-branch business. Help customers locate nearby outlets, check store hours, and get directions.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Real Estate & Property Listings\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay properties on interactive maps with custom markers. Perfect for real estate agencies, property management companies, and rental listing websites.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Restaurant & Food Business\u003C\u002Fstrong>\u003Cbr \u002F>\nBuild a restaurant locator for your cafe chain, food delivery service, or franchise. Show menu highlights, opening hours, and reservation links in popups.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Healthcare & Medical Services\u003C\u002Fstrong>\u003Cbr \u002F>\nMap hospitals, clinics, diagnostic centers, pharmacies, and medical practitioners. Ideal for healthcare networks and medical directories.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Hotels & Travel\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate hotel finders, resort locators, and travel destination maps. Display amenities, ratings, and booking information in marker popups.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Service Area Businesses\u003C\u002Fstrong>\u003Cbr \u002F>\nUse polygon drawing tools to display service coverage areas. Perfect for delivery zones, installation services, and regional contractors.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Banks & Financial Services\u003C\u002Fstrong>\u003Cbr \u002F>\nBuild ATM locators, branch finders, and financial service directories with category filtering.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Education & Institutions\u003C\u002Fstrong>\u003Cbr \u002F>\nMap schools, universities, training centers, and campus buildings. Great for educational directories and campus navigation.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Events & Entertainment\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay event venues, concert halls, theaters, and entertainment centers with rich media popups.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Automotive & Dealerships\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate dealer locators for car showrooms, service centers, spare parts shops, and authorized repair centers.\u003C\u002Fp>\n\u003Ch4>Pro Features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpeasysoft.com\u002Fwordpress-plugins\u002Feasy-map\u002F\" rel=\"nofollow ugc\">Upgrade to Easy Map Pro\u003C\u002Fa>\u003C\u002Fstrong> for advanced capabilities:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Custom Marker Icons\u003C\u002Fstrong> – Use different colored markers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dynamic Location Selection\u003C\u002Fstrong> – Choose multiple locations from dropdown\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Marker Clustering\u003C\u002Fstrong> – Group nearby markers for cleaner maps\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Geo Search\u003C\u002Fstrong> – Location search functionality\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Marker Popups\u003C\u002Fstrong> – Advanced popup styling options\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Video Tutorial\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>How to Add Maps with Multiple Locations, Polylines & Polygons:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F6aPZ3kxlQsg?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>Shortcode Examples\u003C\u002Fh4>\n\u003Cp>Easily create a \u003Cstrong>map\u003C\u002Fstrong> with auto-generated shortcode:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[easy-map ID=\"168\"]\n[easy-map-store-locator ID=\"1\"]\n[easy-map-marker ID=\"1\"]\n[easy-map-drawing ID=\"1\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Easily create a \u003Cstrong>map\u003C\u002Fstrong> with manual shortcode:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[easy-map]\n[easy-map lat='37.2811806' lon='-122.0569443']\n[easy-map lat='37.2811806' lon='-122.0569443' zoom='12']\n[easy-map lat='37.2811806' lon='-122.0569443' zoom='12' popup='Silicon Valley']\n[easy-map lat='37.2811806' lon='-122.0569443' zoom='12' tilelayer='google']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Easily create a \u003Cstrong>map marker\u003C\u002Fstrong> with latitude and longitude:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[easy-map-marker lat=23.01 lon=91.38 popup='Dhaka']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, feature requests, or any inquiries, please email \u003Ca href=\"mailto:nashirbabu@gmail.com\" rel=\"nofollow ugc\">nashirbabu@gmail.com\u003C\u002Fa>\u003C\u002Fp>\n","Create interactive maps with store locator, markers, drawings & multiple locations. Supports OpenStreetMap and Google Maps. No API key needed.",50,5622,100,"2026-03-15T14:22:00.000Z",[140,21,198,23,142],"map-markers","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feasy-map","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-map.1.8.10.zip",{"attackSurface":202,"codeSignals":299,"taintFlows":824,"riskAssessment":825,"analyzedAt":840},{"hooks":203,"ajaxHandlers":295,"restRoutes":296,"shortcodes":297,"cronEvents":298,"entryPointCount":29,"unprotectedCount":29},[204,210,216,221,224,230,233,236,239,242,247,252,257,261,263,267,271,274,279,283,288,290],{"type":205,"name":206,"callback":207,"file":208,"line":209},"action","admin_notices","showAdminErrors","classes\\errors.php",44,{"type":211,"name":212,"callback":213,"priority":214,"file":208,"line":215},"filter","the_content","appendErrorsContent",99999,46,{"type":211,"name":217,"callback":218,"file":219,"line":220},"upload_dir","changeUploadDir","classes\\fileuploader.php",97,{"type":211,"name":222,"callback":223,"file":219,"line":122},"wp_handle_upload_prefilter","changeFileName",{"type":205,"name":225,"callback":226,"priority":227,"file":228,"line":229},"init","_delayedInit",5,"classes\\frame.php",103,{"type":205,"name":225,"callback":231,"file":228,"line":232},"addScripts",119,{"type":205,"name":225,"callback":234,"file":228,"line":235},"addStyles",120,{"type":205,"name":225,"callback":237,"file":228,"line":238},"connectLang",126,{"type":205,"name":225,"callback":240,"file":228,"line":241},"execAfterWpInit",263,{"type":205,"name":243,"callback":244,"file":245,"line":246},"activated_plugin","savePluginActivationErrors","classes\\utils.php",365,{"type":211,"name":248,"callback":249,"file":250,"line":251},"wp_mail_content_type","mailContentType","modules\\adminmenu\\controller.php",27,{"type":205,"name":253,"callback":254,"priority":255,"file":256,"line":48},"admin_menu","initMenu",9,"modules\\adminmenu\\mod.php",{"type":211,"name":258,"callback":259,"file":260,"line":227},"upload_mimes","addMimeTypes","modules\\icons\\mod.php",{"type":211,"name":248,"callback":249,"file":262,"line":145},"modules\\mail\\mod.php",{"type":205,"name":264,"callback":265,"file":266,"line":157},"wp_head","addMapStyles","modules\\maps\\mod.php",{"type":205,"name":268,"callback":269,"file":266,"line":270},"template_redirect","getMapsInPosts",25,{"type":205,"name":272,"callback":273,"priority":227,"file":266,"line":63},"wp_footer","addMapDataToJs",{"type":205,"name":275,"callback":276,"priority":277,"file":266,"line":278},"admin_bar_menu","addAdminBarNewItem",300,29,{"type":205,"name":280,"callback":281,"file":282,"line":227},"widgets_init","registerWidget","modules\\maps_widget\\mod.php",{"type":205,"name":284,"callback":285,"priority":255,"file":286,"line":287},"admin_footer","displayAdminFooter","modules\\supsystic_promo\\mod.php",15,{"type":205,"name":206,"callback":289,"file":286,"line":270},"showUserApiKeyAdminNotice",{"type":205,"name":291,"callback":292,"file":293,"line":294},"admin_enqueue_scripts","loadMediaScripts","modules\\templates\\mod.php",21,[],[],[],[],{"dangerousFunctions":300,"sqlUsage":304,"outputEscaping":438,"fileOperations":145,"externalRequests":508,"nonceChecks":819,"capabilityChecks":819,"bundledLibraries":820},[301],{"fn":302,"file":245,"line":251,"context":303},"unserialize","return unserialize($data);",{"prepared":215,"raw":305,"locations":306},64,[307,311,313,315,317,318,319,320,321,323,325,327,330,333,335,337,339,342,344,346,348,350,352,354,356,358,361,362,364,366,368,370,373,375,377,380,382,384,387,389,391,392,394,396,398,400,402,404,406,408,410,413,415,416,418,420,421,423,425,427,429,432,435,437],{"file":308,"line":309,"context":310},"classes\\db.php",82,"$wpdb->get_var() with variable interpolation",{"file":308,"line":312,"context":310},85,{"file":308,"line":314,"context":310},88,{"file":308,"line":316,"context":310},91,{"file":308,"line":134,"context":310},{"file":308,"line":220,"context":310},{"file":308,"line":195,"context":310},{"file":308,"line":229,"context":310},{"file":308,"line":322,"context":310},106,{"file":308,"line":324,"context":310},109,{"file":308,"line":326,"context":310},112,{"file":228,"line":328,"context":329},69,"$wpdb->get_results() with variable interpolation",{"file":331,"line":332,"context":310},"classes\\installer.php",208,{"file":331,"line":334,"context":310},214,{"file":331,"line":336,"context":310},220,{"file":331,"line":338,"context":310},226,{"file":331,"line":340,"context":341},354,"$wpdb->query() with variable interpolation",{"file":331,"line":343,"context":341},355,{"file":331,"line":345,"context":341},356,{"file":331,"line":347,"context":341},357,{"file":331,"line":349,"context":341},358,{"file":331,"line":351,"context":341},359,{"file":331,"line":353,"context":341},360,{"file":331,"line":355,"context":341},361,{"file":331,"line":357,"context":341},362,{"file":359,"line":360,"context":329},"classes\\installerDbUpdater.php",56,{"file":359,"line":112,"context":341},{"file":359,"line":363,"context":329},61,{"file":359,"line":365,"context":341},63,{"file":359,"line":367,"context":329},66,{"file":359,"line":369,"context":341},68,{"file":245,"line":371,"context":372},369,"$wpdb->get_col() with variable interpolation",{"file":245,"line":374,"context":372},393,{"file":245,"line":376,"context":372},411,{"file":378,"line":379,"context":329},"modules\\icons\\models\\icons.php",33,{"file":378,"line":381,"context":329},52,{"file":378,"line":383,"context":329},155,{"file":378,"line":385,"context":386},183,"$wpdb->get_row() with variable interpolation",{"file":388,"line":287,"context":329},"modules\\maps\\models\\maps.php",{"file":388,"line":390,"context":386},187,{"file":388,"line":332,"context":329},{"file":388,"line":393,"context":329},239,{"file":388,"line":395,"context":386},266,{"file":388,"line":397,"context":386},313,{"file":388,"line":399,"context":386},336,{"file":388,"line":401,"context":310},452,{"file":388,"line":403,"context":310},457,{"file":388,"line":405,"context":310},460,{"file":388,"line":407,"context":329},467,{"file":388,"line":409,"context":329},470,{"file":411,"line":412,"context":310},"modules\\marker\\models\\marker.php",42,{"file":411,"line":414,"context":386},170,{"file":411,"line":385,"context":386},{"file":411,"line":417,"context":386},195,{"file":411,"line":419,"context":329},352,{"file":411,"line":355,"context":310},{"file":411,"line":422,"context":310},364,{"file":411,"line":424,"context":329},371,{"file":411,"line":426,"context":329},374,{"file":411,"line":428,"context":310},402,{"file":430,"line":431,"context":372},"modules\\marker\\models\\marker_groups_relation.php",10,{"file":433,"line":434,"context":329},"modules\\marker_groups\\models\\marker_groups.php",12,{"file":436,"line":294,"context":329},"modules\\options\\models\\modules.php",{"file":436,"line":251,"context":329},{"escaped":439,"rawEcho":440,"locations":441},382,215,[442,445,448,450,452,454,457,459,462,464,467,470,472,474,476,477,479,480,482,485,487,489,490,492,493,494,496,498,500,502,503,505,506,509,511,512,513,515,516,518,521,522,523,524,525,526,527,528,530,532,534,535,537,539,541,543,544,546,548,550,552,554,556,558,560,561,563,565,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,687,688,690,692,693,694,695,697,699,700,702,704,706,708,710,712,714,716,717,718,719,720,721,722,724,725,726,727,728,730,732,733,734,735,736,738,740,741,743,745,746,748,749,750,752,753,754,757,758,759,760,761,763,764,765,767,768,769,770,772,774,776,778,780,781,783,785,787,789,791,793,794,796,798,800,801,802,803,805,806,807,809,811,813,815,817],{"file":208,"line":443,"context":444},57,"raw output",{"file":446,"line":447,"context":444},"classes\\field.php",204,{"file":446,"line":449,"context":444},209,{"file":446,"line":451,"context":444},212,{"file":446,"line":453,"context":444},495,{"file":455,"line":456,"context":444},"classes\\filegenerator.php",38,{"file":458,"line":328,"context":444},"classes\\lang.php",{"file":460,"line":461,"context":444},"classes\\modInstaller.php",188,{"file":463,"line":209,"context":444},"classes\\uri.php",{"file":465,"line":466,"context":444},"classes\\view.php",23,{"file":468,"line":469,"context":444},"functions.php",158,{"file":471,"line":287,"context":444},"modules\\csv\\views\\tpl\\csvTabContent.php",{"file":471,"line":473,"context":444},45,{"file":471,"line":475,"context":444},79,{"file":471,"line":14,"context":444},{"file":471,"line":478,"context":444},87,{"file":471,"line":314,"context":444},{"file":266,"line":481,"context":444},129,{"file":483,"line":484,"context":444},"modules\\maps\\views\\tpl\\mapsDrawMap.php",19,{"file":483,"line":486,"context":444},20,{"file":483,"line":488,"context":444},28,{"file":483,"line":278,"context":444},{"file":483,"line":491,"context":444},31,{"file":483,"line":491,"context":444},{"file":483,"line":379,"context":444},{"file":483,"line":495,"context":444},35,{"file":483,"line":497,"context":444},36,{"file":483,"line":499,"context":444},39,{"file":483,"line":501,"context":444},41,{"file":483,"line":209,"context":444},{"file":483,"line":504,"context":444},47,{"file":483,"line":193,"context":444},{"file":507,"line":508,"context":444},"modules\\maps\\views\\tpl\\mapsEdit.php",6,{"file":507,"line":510,"context":444},13,{"file":507,"line":157,"context":444},{"file":507,"line":501,"context":444},{"file":507,"line":514,"context":444},59,{"file":507,"line":369,"context":444},{"file":517,"line":134,"context":444},"modules\\maps\\views\\tpl\\mapsEditHeatmap.php",{"file":519,"line":520,"context":444},"modules\\maps\\views\\tpl\\mapsEditMap.php",11,{"file":519,"line":63,"context":444},{"file":519,"line":491,"context":444},{"file":519,"line":495,"context":444},{"file":519,"line":381,"context":444},{"file":519,"line":443,"context":444},{"file":519,"line":305,"context":444},{"file":519,"line":478,"context":444},{"file":519,"line":529,"context":444},105,{"file":519,"line":531,"context":444},122,{"file":519,"line":533,"context":444},135,{"file":519,"line":383,"context":444},{"file":519,"line":536,"context":444},164,{"file":519,"line":538,"context":444},172,{"file":519,"line":540,"context":444},197,{"file":519,"line":542,"context":444},206,{"file":519,"line":440,"context":444},{"file":519,"line":545,"context":444},237,{"file":519,"line":547,"context":444},254,{"file":519,"line":549,"context":444},275,{"file":519,"line":551,"context":444},288,{"file":519,"line":553,"context":444},309,{"file":519,"line":555,"context":444},320,{"file":519,"line":557,"context":444},327,{"file":519,"line":559,"context":444},334,{"file":519,"line":419,"context":444},{"file":519,"line":562,"context":444},363,{"file":519,"line":564,"context":444},373,{"file":519,"line":439,"context":444},{"file":519,"line":567,"context":444},390,{"file":519,"line":569,"context":444},398,{"file":519,"line":571,"context":444},406,{"file":519,"line":573,"context":444},412,{"file":519,"line":575,"context":444},418,{"file":519,"line":577,"context":444},422,{"file":519,"line":579,"context":444},434,{"file":519,"line":581,"context":444},454,{"file":519,"line":583,"context":444},465,{"file":519,"line":585,"context":444},490,{"file":519,"line":587,"context":444},512,{"file":519,"line":589,"context":444},516,{"file":519,"line":591,"context":444},543,{"file":519,"line":593,"context":444},549,{"file":519,"line":595,"context":444},554,{"file":519,"line":597,"context":444},561,{"file":519,"line":599,"context":444},568,{"file":519,"line":601,"context":444},575,{"file":519,"line":603,"context":444},582,{"file":519,"line":605,"context":444},593,{"file":519,"line":607,"context":444},601,{"file":519,"line":609,"context":444},612,{"file":519,"line":611,"context":444},614,{"file":519,"line":613,"context":444},621,{"file":519,"line":615,"context":444},623,{"file":519,"line":617,"context":444},634,{"file":519,"line":619,"context":444},637,{"file":519,"line":621,"context":444},642,{"file":519,"line":623,"context":444},645,{"file":519,"line":625,"context":444},648,{"file":519,"line":627,"context":444},652,{"file":519,"line":629,"context":444},662,{"file":519,"line":631,"context":444},664,{"file":519,"line":633,"context":444},675,{"file":519,"line":635,"context":444},678,{"file":519,"line":637,"context":444},683,{"file":519,"line":639,"context":444},686,{"file":519,"line":641,"context":444},689,{"file":519,"line":643,"context":444},693,{"file":519,"line":645,"context":444},703,{"file":519,"line":647,"context":444},705,{"file":519,"line":649,"context":444},708,{"file":519,"line":651,"context":444},716,{"file":519,"line":653,"context":444},718,{"file":519,"line":655,"context":444},721,{"file":519,"line":657,"context":444},729,{"file":519,"line":659,"context":444},731,{"file":519,"line":661,"context":444},735,{"file":519,"line":663,"context":444},741,{"file":519,"line":665,"context":444},742,{"file":519,"line":667,"context":444},745,{"file":519,"line":669,"context":444},758,{"file":519,"line":671,"context":444},765,{"file":519,"line":673,"context":444},775,{"file":519,"line":675,"context":444},777,{"file":519,"line":677,"context":444},778,{"file":519,"line":679,"context":444},779,{"file":519,"line":681,"context":444},780,{"file":519,"line":683,"context":444},781,{"file":685,"line":520,"context":444},"modules\\maps\\views\\tpl\\mapsEditMarkers.php",{"file":685,"line":491,"context":444},{"file":685,"line":412,"context":444},{"file":685,"line":689,"context":444},62,{"file":685,"line":691,"context":444},76,{"file":685,"line":96,"context":444},{"file":685,"line":529,"context":444},{"file":685,"line":235,"context":444},{"file":685,"line":696,"context":444},125,{"file":685,"line":698,"context":444},130,{"file":685,"line":135,"context":444},{"file":685,"line":701,"context":444},267,{"file":685,"line":703,"context":444},268,{"file":685,"line":705,"context":444},269,{"file":685,"line":707,"context":444},270,{"file":685,"line":709,"context":444},271,{"file":685,"line":711,"context":444},272,{"file":713,"line":294,"context":444},"modules\\maps\\views\\tpl\\mapsListMarkers.php",{"file":715,"line":63,"context":444},"modules\\maps\\views\\tpl\\mapsMapStyles.php",{"file":715,"line":251,"context":444},{"file":715,"line":488,"context":444},{"file":715,"line":278,"context":444},{"file":715,"line":491,"context":444},{"file":715,"line":379,"context":444},{"file":715,"line":497,"context":444},{"file":715,"line":723,"context":444},37,{"file":715,"line":499,"context":444},{"file":715,"line":412,"context":444},{"file":715,"line":215,"context":444},{"file":715,"line":193,"context":444},{"file":729,"line":431,"context":444},"modules\\maps_widget\\views\\maps_widget.php",{"file":731,"line":520,"context":444},"modules\\maps_widget\\views\\tpl\\form.php",{"file":731,"line":466,"context":444},{"file":731,"line":495,"context":444},{"file":731,"line":504,"context":444},{"file":731,"line":514,"context":444},{"file":731,"line":737,"context":444},71,{"file":731,"line":739,"context":444},80,{"file":731,"line":478,"context":444},{"file":411,"line":742,"context":444},259,{"file":744,"line":63,"context":444},"modules\\marker_groups\\views\\tpl\\mgrEditMarkerGroup.php",{"file":744,"line":499,"context":444},{"file":744,"line":747,"context":444},53,{"file":744,"line":305,"context":444},{"file":744,"line":328,"context":444},{"file":744,"line":751,"context":444},70,{"file":744,"line":737,"context":444},{"file":744,"line":98,"context":444},{"file":755,"line":756,"context":444},"modules\\options\\views\\tpl\\optionsAdminPage.php",8,{"file":755,"line":255,"context":444},{"file":755,"line":520,"context":444},{"file":755,"line":510,"context":444},{"file":755,"line":287,"context":444},{"file":755,"line":762,"context":444},17,{"file":755,"line":466,"context":444},{"file":755,"line":270,"context":444},{"file":766,"line":157,"context":444},"modules\\options\\views\\tpl\\optionsSettingsTabContent.php",{"file":766,"line":193,"context":444},{"file":766,"line":360,"context":444},{"file":766,"line":112,"context":444},{"file":766,"line":771,"context":444},73,{"file":766,"line":773,"context":444},83,{"file":766,"line":775,"context":444},89,{"file":766,"line":777,"context":444},93,{"file":766,"line":779,"context":444},95,{"file":766,"line":322,"context":444},{"file":766,"line":782,"context":444},107,{"file":766,"line":784,"context":444},108,{"file":286,"line":786,"context":444},127,{"file":286,"line":788,"context":444},324,{"file":286,"line":790,"context":444},326,{"file":792,"line":28,"context":444},"modules\\supsystic_promo\\views\\tpl\\adminPromoTabContent.php",{"file":792,"line":48,"context":444},{"file":795,"line":412,"context":444},"modules\\supsystic_promo\\views\\tpl\\discountMsg.php",{"file":797,"line":381,"context":444},"modules\\supsystic_promo\\views\\tpl\\overviewTabContent.php",{"file":797,"line":799,"context":444},55,{"file":797,"line":363,"context":444},{"file":797,"line":689,"context":444},{"file":797,"line":365,"context":444},{"file":804,"line":13,"context":444},"modules\\supsystic_promo\\views\\tpl\\welcomePage.php",{"file":804,"line":134,"context":444},{"file":804,"line":27,"context":444},{"file":804,"line":808,"context":444},136,{"file":804,"line":810,"context":444},137,{"file":804,"line":812,"context":444},138,{"file":804,"line":814,"context":444},139,{"file":804,"line":816,"context":444},140,{"file":804,"line":818,"context":444},141,2,[821],{"name":822,"version":38,"knownCves":823},"jQuery",[],[],{"summary":826,"deductions":827},"The 'ultimate-maps-by-supsystic' plugin, version 1.2.23, presents a mixed security posture. While the static analysis shows a remarkably small attack surface with no identified AJAX handlers, REST API routes, shortcodes, or cron events accessible without authentication, there are underlying concerns. The presence of the `unserialize` function is a significant red flag, as it can lead to critical vulnerabilities if not handled with extreme care and robust sanitization.  Additionally, while a substantial portion of SQL queries use prepared statements, a remaining percentage does not, posing a potential SQL injection risk. The output escaping is also only moderately effective, with over a third of outputs not being properly escaped, indicating a cross-site scripting (XSS) risk.\n\nThe vulnerability history reveals a pattern of past security issues, including CSRF, XSS, and SQL injection. The fact that there are no currently unpatched vulnerabilities is positive, suggesting that developers are addressing reported issues. However, the existence of past high and medium severity vulnerabilities, particularly those related to injection and XSS, indicates a history of security weaknesses that warrant continued vigilance.  The most recent vulnerability being only a few months ago also suggests ongoing discovery of issues.\n\nIn conclusion, the plugin benefits from a well-controlled attack surface, which is a strong security positive. However, the reliance on potentially dangerous functions like `unserialize`, a history of significant vulnerabilities, and less than ideal output escaping practices introduce notable risks. Users should ensure they are on the latest version if available and be aware of the potential for newly discovered vulnerabilities, despite the current lack of unpatched CVEs.",[828,830,832,834,836,838],{"reason":829,"points":287},"Dangerous function unserialize found",{"reason":831,"points":227},"SQL queries not using prepared statements",{"reason":833,"points":756},"Output escaping not properly implemented",{"reason":835,"points":431},"High severity vulnerability in history",{"reason":837,"points":508},"Medium severity vulnerabilities in history",{"reason":839,"points":227},"Recent vulnerability discovered","2026-03-16T17:45:35.981Z",{"wat":842,"direct":876},{"assetPaths":843,"generatorPatterns":863,"scriptPaths":864,"versionParams":865},[844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862],"\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fcss\u002Fums_admin.css","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fcss\u002Fums_frontend.css","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fcss\u002Fums_main.css","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums_admin.js","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums_frontend.js","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums_main.js","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fjquery.colorpicker.js","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002FmarkerAnimate.js","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fowl.carousel.js","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums.js","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums_admin.js.map","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums_frontend.js.map","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums_main.js.map","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fjquery.colorpicker.js.map","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002FmarkerAnimate.js.map","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fowl.carousel.js.map","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums.js.map","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fcss\u002Fowl.carousel.css","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fcss\u002Fums_bootstrap.css",[],[847,848,849,850,851,852,853],[866,867,868,869,870,871,872,873,874,875],"\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fcss\u002Fums_admin.css?ver=","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fcss\u002Fums_frontend.css?ver=","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fcss\u002Fums_main.css?ver=","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums_admin.js?ver=","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums_frontend.js?ver=","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums_main.js?ver=","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fjquery.colorpicker.js?ver=","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002FmarkerAnimate.js?ver=","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fowl.carousel.js?ver=","\u002Fwp-content\u002Fplugins\u002Fultimate-maps-by-supsystic\u002Fjs\u002Fums.js?ver=",{"cssClasses":877,"htmlComments":882,"htmlAttributes":893,"restEndpoints":897,"jsGlobals":898,"shortcodeOutput":901},[878,879,880,881],"ums-map-container","ums-backend-map-settings","ums-frontend-map-wrapper","ums-infowindow-content",[883,884,885,886,887,888,889,890,891,892],"\u003C!-- Base config constants and functions -->","\u003C!-- Connect all required core classes -->","\u003C!-- deprecated since version 1.0.1 -->","\u003C!-- Check plugin version - maybe we need to update database, and check global errors in request -->","\u003C!-- Start application -->","\u003C!-- Object with result of executing non-ajax module request -->","\u003C!-- Uses to know if we are on one of the plugin pages -->","\u003C!-- Array to hold all scripts and add them in one time in addScripts method -->","\u003C!-- Check permissions for action in controller by $code and made corresponding action -->","\u003C!-- Check permissions for action in controller by $code -->",[894,895,896],"data-map-id","data-map-settings","data-marker-id",[],[899,900],"umsParams","ums_frontend",[902],"[ultimate-map"]