Directory / plugin
Lokilo – Store Locator for WooCommerce
v1.3.5 · by WPPoland (Mariusz Szatkowski)
Help customers find your shops: a searchable list of your stores with opening hours, contact details and a Get directions link.
About this plugin
Lokilo lists your physical shops on the storefront. You enter each location once in wp-admin, name, address, city, postcode, country, phone, email, opening hours, a photo and a description, then drop the Store Locator block or the [lokilo] shortcode on any page and the directory prints.
No map, and that is the point
There is no Google Maps key to get, no API to pay for, no third-party script and nothing sent anywhere. A store locator that needs a billing account and a key with a quota is a store locator that breaks quietly the month someone forgets to pay it.
Every location is printed into the page HTML, so the directory is there with JavaScript turned off, and it is there for a search engine reading the page. When JavaScript does run, the search box filters the cards as the visitor types, over name, address, city, postcode and country, without a single request. Accents do not matter: “lodz” finds Łódź.
What you get
- Locations as their own admin screen. Store Locations sits under the WooCommerce menu, with a photo, a description and the full contact block per shop.
- A block and a shortcode. The Store Locator block and
[lokilo]render the same directory.[lokilo limit="500"]raises the 200-store default and[lokilo limit="-1"]prints every one. - Search that ignores accents. The search box filters cards over name, address, city, postcode and country as the visitor types, so “lodz” finds Łódź.
- An honest count. When the page shows fewer locations than you have, it says so above the list, and says the search box only reaches the ones shown, rather than letting a visitor conclude you have no shop in their city.
- Directions on each card with an address. A card with an address gets a Get directions link that opens OpenStreetMap in a new tab with the address filled in. It is a plain link: no key, no script, nothing loaded until the visitor clicks.
- Per-card control. Photo, description, address, opening hours, phone and email each have a toggle. The store name always shows.
- Accessible by construction. The result count goes through an ARIA live region, the search field is keyboard-operable, cards carry focus-visible outlines, and the storefront styles follow the visitor’s light or dark preference and honour prefers-reduced-motion.
- Loads nothing it does not need. The stylesheet and script are enqueued only on a page where the directory actually rendered, and the markup is written to avoid layout shift.
- Readable by an assistant. On WordPress 6.9 and newer an AI assistant in wp-admin can list your locations, look one up and read the directory settings, through the WordPress Abilities API. Reading only: it cannot add or change anything.
What it does not do
There is no map view and no geolocation of the visitor. Directions are the link described above, worked out on openstreetmap.org rather than in your page. A map of your locations (those with coordinates) is part of the Lokilo Pro add-on, which draws it on free OpenStreetMap tiles with no key.
It does not import in bulk. Locations are added one at a time in wp-admin.
Lokilo Pro
Lokilo Pro is a separate paid plugin that extends Lokilo.
Included in Lokilo:
- Managed locations
- [lokilo] shortcode
- Instant filtering
- Clean card list
- Choose visible fields
Lokilo Pro adds:
- Interactive map
- Region grouping
- Bulk import
The free edition is not a trial and its features stay available without a time limit.
- Lokilo Pro – plogins.com/lokilo-pro/
- Compare editions and pricing – plogins.com/lokilo-pro/pricing/
- PRO documentation – plogins.com/lokilo-pro/docs/
External Services
Lokilo does not connect to any external service on its own. It registers no remote API, sends no HTTP request, and loads no third-party script, font, map or tile. Your store data stays on your site; the one exception is the directions link described below, and only when a visitor clicks it.
Every location is stored on your own server as a locator_store post, with its address, city, postcode, country, phone, opening hours, email and any latitude/longitude kept in that post’s meta. Settings live in the locator_settings option. Coordinates are typed in by hand on the location screen – nothing is geocoded against an outside provider. The storefront search filters cards in the visitor’s browser, so no request is made while typing, and the plugin sends no email.
OpenStreetMap directions (link only). Each store card with an address shows a Get directions link to https://www.openstreetmap.org/directions, with the store’s address in the link. Nothing is loaded from or sent to OpenStreetMap when the page is shown. Only if a visitor clicks the link does their browser open openstreetmap.org in a new tab, which receives the store address and the usual request data (IP address, browser) under the OpenStreetMap Foundation terms of use and privacy policy.
Translations
Lokilo is fully translatable and ships the lokilo.pot template. Translations are delivered by WordPress.org language packs from translate.wordpress.org, which is where Polish, German and Spanish are being contributed; the package itself carries no compiled translation files.