Skip to content

Configuration

Locator has two configuration areas: the store locations you add as content, and the Store Locator settings that control how the directory looks. The [locator] shortcode then renders it on any page.

Each store is a managed post type under WooCommerce → Store Locations. Add one entry per physical store. The fields are:

  • Name — the store title shown on the card.
  • Address, city, postcode and country — the postal details.
  • Phone and email — contact methods, shown as click-to-call / mailto links.
  • Opening hours — free-text hours displayed on the card.
  • Latitude / longitude — optional coordinates. When present, the Get directions link uses precise coordinates; without them it falls back to the postal address.

Only published locations appear in the directory, so you can draft a new store and publish it when it opens.

Open WooCommerce → Store Locator for the presentation options:

  • LayoutList or a responsive Grid. This is the site-wide default; a shortcode attribute can override it per page.
  • Visible fields — choose which details show on each card: address, opening hours, phone, email and the Get directions link. Hide anything you do not want public (for example, an internal email).

Place the directory on any page or post with:

[locator]
AttributeValuesEffect
layoutlist or gridForces the layout on that page, overriding the site-wide setting.

For example, to force a grid on one landing page while the rest of the site uses the list:

[locator layout="grid"]

Locator only enqueues its CSS and JavaScript on pages that actually contain the shortcode, so pages without it stay lean.

The Get directions link opens the visitor’s own map application. If the location has latitude/longitude it links to those exact coordinates; otherwise it builds a search from the postal address. No map key or external API is involved either way.

There is nothing to configure for privacy — the directory is fully self-contained. No external API, no tracking, no map key. Locations render server-side, so the list works with JavaScript disabled; when JavaScript runs it only filters the cards already on the page. The markup is built to avoid layout shift, keeping the page Core Web Vitals friendly.