{"id":383786,"date":"2026-11-02T18:56:02","date_gmt":"2026-11-02T18:56:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bloom-desktop-store-locator\/"},"modified":"2026-11-02T18:55:25","modified_gmt":"2026-11-02T18:55:25","slug":"bloom-desktop-store-locator","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/bloom-desktop-store-locator\/","author":23582126,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Bloom Desktop Store Locator","header_author":"Bloom Desktop Ltd","header_description":"A powerful and flexible store locator plugin with map integration, country and region filters, and store search. Works with any WordPress theme.","assets_banners_color":"f7f7f4","last_updated":"2026-11-02 18:55:25","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/bloomdesktop.com\/products\/wordpress-plugins\/store-locator","header_author_uri":"https:\/\/bloomdesktop.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":34,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"bloomdesktop","date":"2026-11-02 18:55:25","revision":3780538}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3780538,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3780538,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3780538,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3780538,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"bloom-desktop\/store-locator":{"name":"bloom-desktop\/store-locator","title":"Bloom Desktop Store Locator"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3780538,"resolution":"1","location":"assets","locale":"","width":1444,"height":904},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3780538,"resolution":"2","location":"assets","locale":"","width":1008,"height":910},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3780538,"resolution":"3","location":"assets","locale":"","width":1917,"height":892},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3780538,"resolution":"4","location":"assets","locale":"","width":1816,"height":801},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3780538,"resolution":"5","location":"assets","locale":"","width":1542,"height":780}},"screenshots":{"1":"Adding a store: address, contact details and opening hours.","2":"The Guide tab in the plugin settings, with the block and shortcode options.","3":"The Store Locator block in the block editor, with its preview and settings.","4":"The store locator on the frontend: filters, store list and map with grouped markers.","5":"A store selected in the list, with its details and website and directions links on the map."}},"plugin_section":[],"plugin_tags":[4595,351,2909,16164,6102],"plugin_category":[49],"plugin_contributors":[290365],"plugin_business_model":[],"class_list":["post-383786","plugin","type-plugin","status-publish","hentry","plugin_tags-leaflet","plugin_tags-locations","plugin_tags-map","plugin_tags-openstreetmap","plugin_tags-store-locator","plugin_category-maps-and-location","plugin_contributors-bloomdesktop","plugin_committers-bloomdesktop"],"banners":{"banner":"https:\/\/ps.w.org\/bloom-desktop-store-locator\/assets\/banner-772x250.png?rev=3780538","banner_2x":"https:\/\/ps.w.org\/bloom-desktop-store-locator\/assets\/banner-1544x500.png?rev=3780538","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bloom-desktop-store-locator\/assets\/icon-128x128.png?rev=3780538","icon_2x":"https:\/\/ps.w.org\/bloom-desktop-store-locator\/assets\/icon-256x256.png?rev=3780538","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bloom-desktop-store-locator\/assets\/screenshot-1.png?rev=3780538","caption":"Adding a store: address, contact details and opening hours."},{"src":"https:\/\/ps.w.org\/bloom-desktop-store-locator\/assets\/screenshot-2.png?rev=3780538","caption":"The Guide tab in the plugin settings, with the block and shortcode options."},{"src":"https:\/\/ps.w.org\/bloom-desktop-store-locator\/assets\/screenshot-3.png?rev=3780538","caption":"The Store Locator block in the block editor, with its preview and settings."},{"src":"https:\/\/ps.w.org\/bloom-desktop-store-locator\/assets\/screenshot-4.png?rev=3780538","caption":"The store locator on the frontend: filters, store list and map with grouped markers."},{"src":"https:\/\/ps.w.org\/bloom-desktop-store-locator\/assets\/screenshot-5.png?rev=3780538","caption":"A store selected in the list, with its details and website and directions links on the map."}],"raw_content":"<!--section=description-->\n<p>Bloom Desktop Store Locator is a lightweight, self-contained plugin for displaying store or office locations on an interactive map. It requires no third-party plugins (no ACF needed) and works with any properly coded WordPress theme.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Interactive map powered by Leaflet (bundled) and OpenStreetMap \u2014 completely free, no API key required<\/li>\n<li>Country filter dropdown with store count per country<\/li>\n<li>State \/ region filter \u2014 dynamically populated based on selected country<\/li>\n<li>Optional city filter<\/li>\n<li>The list follows the map \u2014 it shows the stores in the visible area, with a result counter, so large cities stay manageable<\/li>\n<li>Search bar \u2014 filter stores by name, city, address or postcode<\/li>\n<li>\"Use my location\" button \u2014 sorts stores by distance, and only asks for the location after the visitor clicks<\/li>\n<li>\"Get Directions\" link, phone and opening hours for every store<\/li>\n<li>Marker clustering for maps with many stores<\/li>\n<li>Infinite scroll for large store lists (loads in batches of 20)<\/li>\n<li>CSV import (up to 500 rows per upload, updates existing stores instead of duplicating them) and CSV export<\/li>\n<li>Coordinates lookup from the store address in the admin<\/li>\n<li>Two integration methods: shortcode and Gutenberg block<\/li>\n<li>Fully responsive \u2014 works on all screen sizes<\/li>\n<li>Contained or full-width layout option<\/li>\n<\/ul>\n\n<p><strong>Privacy note:<\/strong> Map tiles are loaded from tile.openstreetmap.org. The visitor's location is only read when they click \"Use my location\", and it is sent only to your own site to sort stores by distance. See the External services and Privacy sections for details.<\/p>\n\n<h3>Third-Party Libraries<\/h3>\n\n<p>This plugin bundles the following third-party libraries in minified form:<\/p>\n\n<ul>\n<li><strong>Leaflet<\/strong> (v1.9.4) \u2014 BSD 2-Clause License\nNon-minified source: https:\/\/github.com\/Leaflet\/Leaflet<\/li>\n<li><strong>Leaflet.markercluster<\/strong> (v1.5.3) \u2014 MIT License\nNon-minified source: https:\/\/github.com\/Leaflet\/Leaflet.markercluster<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the following third-party services. None of them receives any data until the action described happens.<\/p>\n\n<h4>OpenStreetMap tiles<\/h4>\n\n<p>The map images are loaded from OpenStreetMap servers (tile.openstreetmap.org) every time a page containing the store locator is displayed. The visitor's IP address and the map area being viewed are sent to OpenStreetMap as part of those requests.\nTerms of use: https:\/\/operations.osmfoundation.org\/policies\/tiles\/\nPrivacy policy: https:\/\/osmfoundation.org\/wiki\/Privacy_Policy<\/p>\n\n<h4>OpenStreetMap Nominatim<\/h4>\n\n<p>Used only in the WordPress admin. When an editor clicks \"Get coordinates from address\" while editing a store, the address typed in the form is sent to the Nominatim search service (nominatim.openstreetmap.org) to obtain its latitude and longitude. Site visitors never contact this service.\nTerms of use: https:\/\/operations.osmfoundation.org\/policies\/nominatim\/\nPrivacy policy: https:\/\/osmfoundation.org\/wiki\/Privacy_Policy<\/p>\n\n<h4>Google Maps<\/h4>\n\n<p>Each store shows a \"Get Directions\" link that opens Google Maps (google.com\/maps) in a new tab with the coordinates of the store. Nothing is sent to Google unless the visitor clicks the link.\nTerms of use: https:\/\/www.google.com\/intl\/en\/help\/terms_maps\/\nPrivacy policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>The plugin never asks for the visitor's location on page load. If the visitor clicks \"Use my location\", the browser coordinates are sent to your own site's REST API to sort stores by distance. They are not stored and are not sent to any third party. The button can be disabled in the settings.<\/p>\n\n<p>If you use this plugin, you should disclose the services listed under \"External services\" in your site's privacy policy.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>bloom-desktop-store-locator<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly through the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>Store Locator \u2192 Settings<\/strong> to configure global settings.<\/li>\n<li>Go to <strong>Store Locator \u2192 Add New Store<\/strong> to start adding your locations.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20use%20this%20with%20any%20wordpress%20theme%3F\"><h3>Can I use this with any WordPress theme?<\/h3><\/dt>\n<dd><p>Yes. The plugin is completely theme-independent and uses its own styles prefixed with <code>bloom-desktop-<\/code>.<\/p><\/dd>\n<dt id=\"do%20i%20need%20advanced%20custom%20fields%20%28acf%29%3F\"><h3>Do I need Advanced Custom Fields (ACF)?<\/h3><\/dt>\n<dd><p>No. The plugin uses native WordPress metaboxes and has no third-party plugin dependencies.<\/p><\/dd>\n<dt id=\"how%20many%20stores%20can%20i%20add%3F\"><h3>How many stores can I add?<\/h3><\/dt>\n<dd><p>There is no hard limit. The store list loads in batches as the visitor scrolls, the map groups nearby markers, and the list can follow the visible map area so large catalogues stay manageable.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%3F\"><h3>Does it work with page builders?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>[bloom_desktop_store_locator]<\/code> shortcode in Elementor, Divi, WPBakery, or any other page builder.<\/p><\/dd>\n<dt id=\"can%20i%20show%20different%20countries%20on%20different%20pages%3F\"><h3>Can I show different countries on different pages?<\/h3><\/dt>\n<dd><p>Yes. Use one Store Locator per page. Each block has its own Title, Description, Country, \"Only show stores from this country\" and Footer text (the shortcode has <code>title<\/code>, <code>description<\/code>, <code>default_country<\/code>, <code>lock_country=\"1\"<\/code> and <code>footer<\/code>), so one page can be \"Our stores in Spain\" and another \"Our stores in the United Kingdom\". Texts left empty use the ones from the plugin settings.<\/p><\/dd>\n<dt id=\"is%20the%20map%20service%20free%3F\"><h3>Is the map service free?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses Leaflet (open source) and OpenStreetMap tiles (free). No API key is required.<\/p><\/dd>\n<dt id=\"how%20do%20i%20find%20the%20latitude%20and%20longitude%20for%20a%20store%3F\"><h3>How do I find the latitude and longitude for a store?<\/h3><\/dt>\n<dd><p>Fill in the store address and click <strong>Get coordinates from address<\/strong> in the Map Location metabox. The plugin looks the address up with OpenStreetMap and fills in both fields. You can also type the coordinates by hand.<\/p><\/dd>\n<dt id=\"how%20does%20the%20csv%20import%20work%3F\"><h3>How does the CSV import work?<\/h3><\/dt>\n<dd><p>Go to <strong>Store Locator \u2192 Settings \u2192 Import &amp; Export<\/strong>. Upload a CSV with the following columns:<\/p>\n\n<p>Required: <code>title<\/code>, <code>latitude<\/code>, <code>longitude<\/code>, <code>country<\/code>\nOptional: <code>address<\/code>, <code>city<\/code>, <code>state<\/code>, <code>zipcode<\/code>, <code>phone<\/code>, <code>website<\/code>, <code>hours<\/code><\/p>\n\n<p>A row whose title and coordinates match an existing store updates that store instead of creating a duplicate. A sample CSV is available to download from the same page, and <strong>Export CSV<\/strong> downloads all your stores in the same format.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20stores%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my stores if I delete the plugin?<\/h3><\/dt>\n<dd><p>Nothing, unless you enable <strong>Delete all stores and settings when the plugin is deleted<\/strong> in the settings. Deactivating the plugin never deletes data.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Interactive map with Leaflet and OpenStreetMap, with marker clustering<\/li>\n<li>Country, state \/ region and city filters, and search by name, city, address or postcode<\/li>\n<li>Store list that follows the visible map area, with a result counter<\/li>\n<li>\"Use my location\" button that sorts stores by distance<\/li>\n<li>\"Get Directions\" link, phone and opening hours for every store<\/li>\n<li>Shortcode and Gutenberg block<\/li>\n<li>CSV import and export<\/li>\n<li>Coordinates lookup from the store address<\/li>\n<li>Custom map pin and layout options, and a CSS guide for styling it with the WordPress Additional CSS editor<\/li>\n<li>Hardened public store queries and the CSV export<\/li>\n<li>Length limits on store fields and a size limit on CSV uploads<\/li>\n<\/ul>","raw_excerpt":"A powerful and flexible store locator plugin with an interactive map, country and region filters, and store search. Works with any WordPress theme.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/383786","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=383786"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bloomdesktop"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=383786"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=383786"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=383786"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=383786"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=383786"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=383786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}