Storefindy Store Locator

Description

This plugin connects WordPress to your Storefindy account through the Storefindy
REST API (https://www.storefindy.com/api/v1).

It adds a Store Locator menu with five screens:

  • Settings — save the API key / Bearer token. Saving verifies it immediately.
  • Locators — table of every locator (name, description, locations, views,
    status, date modified) with create, edit and delete.
  • Locations — searchable, sortable, paginated table of every location
    (store name, address, locator name, status, views, date modified) with add,
    edit and delete, plus a Leaflet pin picker and address lookup on the form.
  • Import CSV — a four-step wizard that bulk-creates locations from a CSV:
    pick a locator and an append / replace / update mode, map your columns onto
    Storefindy fields, review the rows, import.
  • How to use — a full walkthrough of the setup and the block.

Deleting always goes through a confirmation modal, because deletions are sent
straight to your Storefindy account and cannot be undone.

Plan limits

Your Storefindy plan sets how many locators and locations the account can have
active. That limit belongs to your Storefindy account, not to this plugin, and
this plugin never enforces it: every screen and every form stays fully usable
whatever your plan.

What it does do is tell you where you stand. Before showing a create form it asks
Storefindy whether the account still has room (GET /api/v1/billing-status), and
at the cap it shows a notice explaining that Storefindy will accept the record
but mark it inactive until you free up a slot. The write goes through either way,
and Storefindy decides the outcome. If the check cannot be reached, nothing is
shown and nothing changes.

Attribution is off by default

The plugin never puts a Storefindy credit in front of your visitors on its own.
The locator form has a “Show ‘Powered by Storefindy’ on the widget” checkbox
which starts unticked; the attribution is only ever enabled if you tick it
yourself, and untick it again at any time to turn it back off.

The Store Locator block

Add the “Store Locator” block to any post or page and choose which locator to
display. On the front end the block prints:

<locator-widget locator="YOUR_LOCATOR_ID"></locator-widget>

and loads https://www.storefindy.com/widgets.js. The loader is registered
under a single script handle, so a page with several Store Locator blocks still
includes the script exactly once — in the head when WordPress can detect the
block ahead of time, otherwise in the footer.

Requirements

  • A Storefindy account on any plan — API access is included on Free, Pro and
    Business. Your plan sets the daily request limit (100 / 1,000 / 10,000).
  • An API key generated at https://www.storefindy.com/dashboard/api-access

Data and privacy

Nothing is mirrored into your WordPress database except the API key and a small
local copy of the locator settings the Storefindy API accepts but never returns
(map defaults, search settings, filters and widget flags) so the edit form can
prefill them correctly. Deleting the plugin removes both, along with its
transients — see uninstall.php. Your Storefindy account is left untouched.

The API key is used server-side only. It is never printed into a page and never
sent to the block editor — the block’s locator dropdown asks WordPress, and
WordPress asks Storefindy.

Third-party services

This plugin relies on external services. Nothing below is optional to the
plugin’s purpose, so please read what each one receives before installing.

  • Storefindy (https://www.storefindy.com) — the service this plugin is a
    client for. Every locator and location you see or save is stored there, sent
    over https://www.storefindy.com/api/v1 with your API key. On the front end,
    a page containing the Store Locator block loads
    https://www.storefindy.com/widgets.js, which renders the map and sends the
    locator ID plus the visitor’s search terms (and, if they allow it, their
    approximate location) to Storefindy so it can return nearby stores.
    Terms of service: https://www.storefindy.com/terms-of-service
    Privacy policy: https://www.storefindy.com/privacy-policy
  • OpenStreetMap (https://www.openstreetmap.org) — map tiles for the admin
    pin picker and the front-end map, requested by the visitor’s browser from
    tile.openstreetmap.org, which receives their IP address.
    Terms: https://osmfoundation.org/wiki/Terms_of_Use
    Privacy: https://osmfoundation.org/wiki/Privacy_Policy
  • Nominatim (https://nominatim.openstreetmap.org) — address lookup. Used in
    the admin when you click “Find” on the location form, and on the front end when
    a visitor searches. It receives the address text or coordinates being resolved.
    Usage policy: https://operations.osmfoundation.org/policies/nominatim/

Leaflet (https://leafletjs.com, BSD-2-Clause) is bundled with the plugin under
assets/vendor/leaflet and served from your own site — it is not loaded from a
CDN. The unminified leaflet-src.js ships alongside it.

Screenshots

Blocks

This plugin provides 1 block.

  • Store Locator Embed one of your Storefindy locators. Pick which locator to display in the block settings.

Installation

  1. Upload the storefindy-store-locator folder to /wp-content/plugins/.
  2. Activate the plugin through the Plugins screen.
  3. Go to Store Locator Settings and paste your API key.

FAQ

Do I need to configure anything else?

No. Once the key is saved, the Locators and Locations screens read straight from
your Storefindy account.

Why does editing a locator ask before updating the widget settings?

GET /api/v1/locators/:id does not return the map defaults, search settings,
filters or widget flags — they are write-only. For a locator this plugin has not
saved before, WordPress cannot know their current values, so it leaves them
untouched unless you explicitly opt in. Locators you create or edit here are
remembered locally and do prefill.

Does the plugin add a Storefindy credit to my site?

Only if you ask it to. The “Show ‘Powered by Storefindy’ on the widget” checkbox
on the locator form is unticked by default, and the plugin outputs no credit
link, badge or “powered by” text on the front end unless you tick it.

Which users can manage locators and locations?

Administrators only. Every screen and every write action requires the
manage_options capability.

Does the plugin limit anything itself?

No. Every feature it ships is available on every Storefindy plan. Where your
Storefindy account has a record cap, the plugin only reports it — it never
refuses a save. See “Plan limits” above.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Storefindy Store Locator” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0

  • Initial release: settings, locator CRUD, location CRUD, CSV import, help
    screen and the Store Locator block.