=== StoreRocket Store Locator – Map & Store Finder ===
Contributors: storerocket
Tags: store locator, store finder, dealer locator, google maps, locations
Requires at least: 5.8
Tested up to: 7.1
Stable tag: 1.3.0
Requires PHP: 7.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

The premium store locator for WordPress. One block adds search, a map, filters and store details. Manage every location in StoreRocket.

== Description ==

StoreRocket is the store locator used by 17,000+ businesses, from a single shop to brands with thousands of stockists. This plugin puts your StoreRocket locator on any WordPress page with one block.

Your locations, design and analytics live in your StoreRocket account, not in your WordPress database. Change a store's hours in StoreRocket and your page shows it straight away. Nothing to re-embed, no plugin update needed for new features.

= What shoppers get =

* **Search by address, city or zip code**, or tap to use their location
* **A map and a list that move together**, with distance to each store
* **Store details**: photos, opening hours, an Open now badge, phone, website and directions
* **Filters** with your own categories and icons, so people find the right store
* **Your own buttons** on each store, like Book now or Shop online
* **Built for phones first**

= What you get =

* **Your brand**: colors, map pins and buttons
* **Google Maps or Mapbox**, your choice
* **Import a spreadsheet**: CSV, XLS or XLSX on every plan, with your column names matched for you
* **Google Sheets sync** that keeps the locator up to date (higher plans)
* **Search analytics**: what people search, where demand comes from, which stores get clicked (higher plans)
* **Lead capture** when someone finds no store nearby (higher plans)
* **Multiple languages** and a **REST API** (higher plans)
* **From one location to 50,000** in a single locator

= Add it to a page =

1. Install the plugin and open **StoreRocket** in your admin menu.
2. Click **Connect with StoreRocket**, sign in (or start a free trial) and you're back, connected. You can also paste the install code from your StoreRocket dashboard (Widget → Install).
3. Click **Create a Store Locator page**, or add the **StoreRocket Store Locator** block to any page.

Classic editor, Elementor, Divi, Beaver Builder or another page builder? Use the `[wp-storerocket]` shortcode. To show a different StoreRocket locator on one page, use `[wp-storerocket id="YOUR_ACCOUNT_ID"]`.

You need a StoreRocket account. [Start a free trial](https://storerocket.io/get-started?utm_source=wordpress.org&utm_medium=plugin&utm_campaign=readme), no credit card required.

== External services ==

This plugin shows a store locator provided by StoreRocket (https://storerocket.io), an external service. It needs a StoreRocket account to work.

* **When you press Connect with StoreRocket**, your browser opens StoreRocket's Connect page (https://storerocket.io/connect/wordpress) with the address of this settings page and a one-time code. After you sign in and press Connect there, StoreRocket sends your browser back here with your account ID. Your WordPress site also checks, at most twice a day while you're on the settings page, whether that Connect page is available.
* **When you connect your account**, and at most once a day after that, your WordPress site asks StoreRocket (https://storerocket.io/api/user/YOUR_ACCOUNT_ID) which map your account uses (Google Maps or Mapbox), so the page loads the matching locator. Only your account ID is sent.
* **On pages that show the locator**, your visitors' browsers load the locator script from StoreRocket's CDN (https://cdn.storerocket.io). The locator then loads your locations and map from StoreRocket and from the map provider you chose in StoreRocket (Google Maps or Mapbox). When a visitor searches, the search text, and their location if they choose to share it, is sent to StoreRocket and the map provider to find nearby stores. StoreRocket counts page views, searches and clicks for your analytics.

StoreRocket terms of service: https://storerocket.io/terms
StoreRocket privacy policy: https://storerocket.io/privacy
Google Maps terms: https://cloud.google.com/maps-platform/terms and privacy: https://policies.google.com/privacy
Mapbox terms: https://www.mapbox.com/legal/tos and privacy: https://www.mapbox.com/legal/privacy

== Installation ==

1. Install and activate the plugin from Plugins → Add New (search for StoreRocket).
2. Open **StoreRocket** in your admin menu and click **Connect with StoreRocket**. Or paste your install code from StoreRocket (Widget → Install).
3. Click **Create a Store Locator page** and publish it, or add the **StoreRocket Store Locator** block or the `[wp-storerocket]` shortcode to any page.

== Frequently Asked Questions ==

= Do I need a StoreRocket account? =

Yes. Your locations, design and settings live in your StoreRocket account, and the plugin shows that locator on your pages. New accounts start with a free trial, no credit card required.

= How do I connect my StoreRocket account? =

Click **Connect with StoreRocket** in the plugin's settings, sign in and press Connect. No code to copy. You can also paste the install code from your StoreRocket dashboard (Widget → Install): the plugin reads the account ID from it.

= Does it work with my theme and page builder? =

Yes. It works with block themes and classic themes. Use the block in the block editor, or the `[wp-storerocket]` shortcode in the classic editor, Elementor, Divi, Beaver Builder and other builders. On a page it takes your theme's wide width, and inside a page-builder column it fills that column. Speed plugins that delay scripts (LiteSpeed Cache, WP Rocket, Cloudflare Rocket Loader) are handled for you.

= Will it slow down my site? =

The locator script loads asynchronously, so the rest of your page renders first, and nothing is added to your WordPress database. It only loads on pages where you place it. Like any interactive map, it adds requests on that page.

= How do I add my store locations? =

In StoreRocket: import a CSV, XLS or XLSX file on any plan, add locations one by one, or on higher plans keep them in sync with a Google Sheet. StoreRocket finds each address on the map for you.

= Do I need a Google Maps API key? =

Not during the free trial: StoreRocket supplies the map key. After you subscribe, you connect your own Google Maps or Mapbox key in StoreRocket and pay that provider directly.

= Can I use Mapbox instead of Google Maps? =

Yes. Choose your map in StoreRocket. The plugin notices the change within a day and loads the right locator. Save the plugin settings once to switch straight away.

= Does it work with WooCommerce? =

Yes. WooCommerce runs on WordPress, so the same block or shortcode works on any WooCommerce page.

= What happens if I move my site away from WordPress? =

Your locations, settings and analytics stay in your StoreRocket account. Paste the same install code on the new site and the locator comes with you.

== Screenshots ==

1. The premium store locator: a store list with photos beside a map of your locations.
2. Add it with one block, then publish. The same page, live with the locator.
3. Make it yours: map pins, buttons and brand colors.
4. Filters with your own categories and icons.
5. Import a spreadsheet. Your column names are matched for you.
6. See where people search, city by city.
7. Views, searches and store clicks in one dashboard.
8. Built for phones: search, map and store details.
9. The plugin settings: a three-step checklist. Connect your account, add your locations, then create a store locator page in one click.

== Upgrade Notice ==

= 1.3.0 =
Connect your account with one click, and Mapbox accounts now load the Mapbox locator. Recommended for everyone.

= 1.2.1 =
The store locator block now defaults to full page width.

= 1.1.1 =
Critical fix: the store locator embed failed to render on PHP 8. Please update.

== Changelog ==

= 1.3.0 =
* New: Connect with StoreRocket. Sign in and you're connected, no code to copy
* New: or paste the whole install code from StoreRocket into the settings (the standard code or the Web app code), not just the account ID
* New: the settings page is a three-step checklist (connect, add your locations, add it to a page) and ticks each step off once it is done
* New: the settings page checks your account and shows it as connected
* New: "Create a Store Locator page" makes a draft page with the locator and opens it in the editor. On block themes with a "Page No Title" template, the page title lines up with the locator
* New: the block shows which account it uses, with the StoreRocket icon
* Fixed: accounts on Mapbox loaded the Google Maps locator. The plugin now loads the locator for the map your account uses, and follows a change within a day
* Improved: the locator loads from StoreRocket's CDN, like the dashboard's install code
* Improved: the loading text no longer carries a link to StoreRocket
* Improved: the plugin's admin styles load only on its own settings page
* Improved: the settings page buttons and links wear StoreRocket's look
* Improved: the locator takes your theme's wide width, centred, with the block and the shortcode alike, and stays inside the screen on phones (checked on 8 popular themes and inside Elementor columns)
* Fixed: speed plugins that delay JavaScript (LiteSpeed Cache, WP Rocket, Cloudflare Rocket Loader) no longer hold the locator back until the visitor touches the page
* Improved: block API version 3 for the WordPress 7 editor; tested up to WordPress 7.1
* Under the hood: translations use the plugin's own text domain (storerocket-store-locator)

= 1.2.1 =
* Improved: the block now spans the full page width by default (with wide/full alignment controls)

= 1.2.0 =
* New: StoreRocket Store Locator block for the block editor (find it in the inserter under Embeds)
* New: shortcode accepts an account ID override: [wp-storerocket id="XXXXXXXXX"]
* New: settings page refreshed with clearer setup steps
* Improved: setup notice now only shows to administrators on the Dashboard and Plugins screens
* Improved: plugin cleans up its settings when uninstalled
* Fixed: removed a stray PHP-version check that could block activation with a confusing message
* Under the hood: hardening (direct-access guards, escaping) and translation-ready strings

= 1.1.1 =
* Fixed: the store locator embed failed to render on PHP 8 (template rendering conflict)
* Fixed: multiple store locators on the same page now render correctly
* Fixed: settings page documented a wrong shortcode name. The correct shortcode is [wp-storerocket] (the old name still works)
* Fixed: settings link on the Plugins screen and dashboard links now point to the right pages

= 1.1.0 =
* Verified compatibility with WordPress 7.0 and PHP 8.x
* Refreshed plugin listing and documentation

= 1.0.1 =
* Initial public release
