24 questions answered

Everything you need to know about Retailers Management

Quick answers to the most common questions about setup, the store locator, CSV import, opening hours, and more.

Browse by topic

Find your answer

Jump to the section that matches your question.

Getting Started

Requirements, initial setup, WooCommerce, and the onboarding wizard.

4 questions

Store Locator

Maps, shortcodes, Locator Builder, templates, and open-now filtering.

5 questions

Demo Data

Seeding demo retailers, editing them, and resetting safely.

3 questions

Retailers & Products

Linking retailers to products, per-retailer pricing, and display options.

5 questions

Opening Hours

Weekly schedules, public holidays, open-now status, and server-side calc.

3 questions

CSV Import & Export

Required columns, geocoding, re-import behavior, and large file limits.

4 questions
Getting Started

Setup & requirements

Yes. WooCommerce is required for product–retailer linking and display features. The Store Locator shortcode [rmfw_store_locator] works independently, but the full feature set including the "Buy from retailer" tab on product pages needs WooCommerce installed and active.
No. Deactivating does not delete any data. Your retailers, opening hours, locator configurations, and settings are all preserved in the WordPress database. Data is only removed if you explicitly uninstall the plugin and its uninstall routine runs. WooCommerce products and other WordPress data are never touched.
It depends. The plugin supports two providers: Leaflet / OpenStreetMap (free, no key, no address autocomplete in admin) and Google Maps (requires an API key with Places API + Maps JavaScript API enabled — unlocks address autocomplete and richer markers). Switch providers anytime under Retailers → Settings → Maps. If a key is missing the plugin falls back to Leaflet automatically.
Go to Retailers → Settings → Advanced → Onboarding and click "Show welcome again". The welcome page, first-run banner, and guided tour will all be replayed for your user account.
Store Locator

Maps, shortcodes & configurations

A Locator Configuration is a saved preset — it stores a combination of template, card layout, search style, default map center, and CSS overrides. The shortcode [rmfw_store_locator] renders a locator anywhere in your content. Without a configuration it uses plugin defaults; with one it inherits all settings from that config.
Step 1: Go to Retailers → Locator Builder and create a configuration for each variation (e.g. "Dark Embed", "Full-Page Locator"). Step 2: Reference each by ID in the shortcode: [rmfw_store_locator config="12"] or [rmfw_store_locator config="13" layout="map-only"]. Shortcode attributes always override the configuration values.
Choose Leaflet if you want zero API costs and are fine with OpenStreetMap tiles. Choose Google Maps if you need admin address autocomplete, satellite tiles, or richer map styling. Both support radius search, marker clustering, and popup cards. Switch anytime under Settings → Maps → Provider.
Yes. The Locator Builder includes a visual CSS token editor. Every color, radius, font, and spacing is driven by –rmfw-sl-* CSS custom properties you can override per-configuration. Additionally, 8 built-in templates (Default, Minimal, Dark, Corporate, Vibrant, Grid, Overlay, Distance Board) give you a strong starting point.
Yes, but it is a global setting. Go to Retailers → Settings → Opening Hours → Store Locator Filter and change it from "All retailers" to "Open now only". Every store locator on the site will then filter to currently-open retailers. Retailers without opening hours are always included — treated as "unknown" rather than "closed".
Demo Data

Seeding, editing & resetting

Demo retailers are generated by the onboarding wizard to let you test the plugin with realistic data. They are flagged with a _rmfw_is_demo meta key, and in the admin list they show a yellow "Demo" badge. Demo retailers behave exactly like real retailers on the frontend — they appear in the store locator, can be assigned to products, and support opening hours.
No. The moment you save changes to a demo retailer, it is automatically promoted to a real retailer — the demo flag is removed and it will survive any reset. You can safely use a demo retailer as a template: edit its details to match a real location, and it becomes a permanent record automatically.
Go to Retailers → Demo Data and click "Reset Demo Data". You will be prompted to type RESET to confirm — this prevents accidental deletions. The reset only removes retailers that still carry the demo flag. Real retailers, settings, locator configurations, and WooCommerce data are completely untouched.
Retailers & Products

Linking, pricing & display

Yes. Each product–retailer assignment has its own Regular Price and Sale Price fields. The same product can show different prices at different retailers. Open the product in WooCommerce, go to the Retailers tab, and edit each retailer row.
The Best Price flag is a manual highlight — it adds a visual badge to that retailer’s card to draw attention. It does not auto-calculate from the lowest price. This is intentional: you may want to highlight a retailer for reasons beyond price (free shipping, fastest delivery, authorized partner).
There is no hard limit. The product page layout adapts — cards overflow into a scrollable list or grid depending on your display settings. For very large numbers (20+), consider using the compact or minimal card variant under Settings → Display → Card Variant.
Not yet through the UI — assignments are managed one product at a time via the WooCommerce product editor’s Retailers tab. For bulk-assign, use the REST API: POST /wp-json/retailers-management-for-woocommerce/v1/products/{id}/retailers. A bulk-assign UI is on the product roadmap.
Go to Retailers → Settings → Display. The Display Toggles section lets you individually show or hide: retailer logo, phone, email, address, opening status, price, stock status, and the "Get Directions" / "Buy Now" buttons. Changes apply globally to all product pages.
Opening Hours

Schedules, holidays & open-now status

Open the retailer editor and go to the Opening Hours tab. Click "Add Holiday" to mark specific dates as closed or with modified hours. You can also apply a Holiday Preset — pre-built lists of national public holidays by country — to quickly populate all holidays for the year. Holiday dates take priority over the weekly schedule.
Retailers without opening hours display without any open/closed indicator — no "Open Now" badge or "Closed" label is shown. They still appear in all store locator searches, including those filtered by "open now". Set at least a default weekly schedule if you want accurate status shown.
Server-side. The plugin exposes a dedicated endpoint: GET /wp-json/retailers-management-for-woocommerce/v1/retailers/{id}/opening-status. It returns the current state, next open/close time, and today’s hours based on the server’s timezone (configured in WordPress Settings → General → Timezone).
CSV Import & Export

Bulk managing with spreadsheets

Only name is required. Optional columns: address and formatted_address (for geocoding if coordinates not provided), latitude and longitude (skip geocoding entirely), phone, email, ecommerce_url, type (auto-created if it does not exist), description, status, logo. Download the example CSV from Retailers → Import/Export → Download Template.
Yes. If latitude and longitude are missing but an address is present, the importer runs it through Nominatim / OpenStreetMap. Results are cached per unique address, so re-importing the same file will not hit the geocoding API again. For large imports (500+ rows), provide latitude/longitude columns directly to avoid rate limits.
Yes. Go to Retailers → Import/Export → Export. The exported CSV includes all retailer fields the importer can read back. Use it to back up data, migrate retailers between sites, or do a bulk edit in a spreadsheet and re-import. The importer matches existing retailers by name — same name updates the record; new name creates a new record.
No hard limit from the plugin. In practice the bottleneck is your server’s max_execution_time and upload_max_filesize PHP settings. For large imports (1,000+ rows): provide latitude/longitude columns to skip geocoding, split into batches of 500–1,000 rows if your server has a tight execution time limit, and increase upload_max_filesize in php.ini if file uploads fail.

Still have a question?

Browse the full documentation for detailed guides, or reach out to our support team — we typically respond within a few hours.