Fold
A store locator for Craft CMS 5.
Fold gives a Craft site the thing every business with a front door eventually asks for: a map, a search box, and a list of shops sorted by how far away they are. It is what WP Store Locator is to WordPress, built the way Craft does things — locations are real elements, with a field layout, per-site URLs, permissions, search, relations and the trash.
And it can answer one question WP Store Locator cannot: which shop near me actually has this in stock. Craft Commerce 5 knows where its inventory is; Fold asks it.
{{ craft.fold.locator({ group: 'retail' }) }}
That is a working locator — search box, results list, map — rendered server-side so it works with JavaScript off, and enhanced by a small runtime when JavaScript is on.
What you get
- Locations are elements. A field layout per group, a URL and template per site, the trash, element search, relations, and the element index with the columns a store list wants — address, coordinates, group, open-now.
- Radius search that scales. An indexed bounding box does the elimination and a haversine does the sorting, both inside one query. Portable across MySQL and Postgres — no spatial types, no PostGIS.
- A map with no API key. Leaflet and OpenStreetMap tiles by default, with Leaflet bundled rather than pulled from a CDN, so a default install makes no third-party request but the tile fetch. Google Maps and Mapbox are there when you want them.
- Geocoding that respects the provider. Nominatim by default, one request per second as its policy requires, every answer cached — misses included.
- Opening hours that are actually correct. Overnight ranges (
22:00–02:00is open at midnight), dated exceptions for holidays, and "open now" answered in the shop's timezone rather than the server's. - Craft Commerce integration. Bind a location to a Commerce inventory location: the address comes from Commerce, and the locator can filter to shops that have a purchasable in stock.
- A JSON endpoint at
/fold/search.json, anonymous and cacheable, so you can build your own front end and still get the same results the built-in one gets. - CSV import and export that round-trips, and reads the column names somebody else's system exported.
Requirements
- Craft CMS 5.3 or later
- PHP 8.2 or later
- Craft Commerce 5.0 or later, for the Commerce features (optional)
Lite
Pro
Plus $59/year after one year.
To install this plugin, copy the command above to your terminal.
This plugin doesn't have any reviews.







