{"id":401002,"date":"2026-11-13T02:25:22","date_gmt":"2026-11-13T02:25:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/locatory-store-dealer-service-locator\/"},"modified":"2026-11-14T00:16:28","modified_gmt":"2026-11-14T00:16:28","slug":"sanvador-store-locator","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sanvador-store-locator\/","author":23601428,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.9.4","stable_tag":"0.9.4","tested":"7.1.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Sanvador Store, Dealer & Service Locator","header_author":"Sanvador","header_description":"Store, dealer and service-point locator: search, \"near me\" with distance, opening hours, map with clustering, CSV import. Works worldwide, no API key.","last_updated":"2026-11-14 00:16:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/plugins.sanvador.com\/sanvador-store-locator\/","header_author_uri":"https:\/\/plugins.sanvador.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":149,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.9.1":{"tag":"0.9.1","author":"sanvador","date":"2026-11-13 02:52:07","revision":3799571},"0.9.2":{"tag":"0.9.2","author":"sanvador","date":"2026-11-13 15:11:29","revision":3800632},"0.9.3":{"tag":"0.9.3","author":"sanvador","date":"2026-11-13 21:34:49","revision":3801169},"0.9.4":{"tag":"0.9.4","author":"sanvador","date":"2026-11-14 00:16:28","revision":3801290}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3799556,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3799556,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3799556,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3799556,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"sanvador-store-locator\/locator":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"sanvador-store-locator\/locator","version":"0.9.2","title":"Sanvador Store Locator","category":"widgets","icon":"location-alt","description":"Searchable list and map of your locations (dealers, branches, service points\u2026).","keywords":["map","locator","dealer","store","branch"],"textdomain":"sanvador-store-locator","attributes":{"country":{"type":"string","default":""},"category":{"type":"string","default":""},"region":{"type":"string","default":""},"perPage":{"type":"number","default":0},"color":{"type":"string","default":""},"map":{"type":"string","default":""},"start":{"type":"string","default":""}},"supports":{"html":false,"align":["wide","full"],"multiple":true},"editorScript":"file:.\/index.js","editorStyle":"file:.\/editor.css"}},"tagged_versions":["0.9.1","0.9.2","0.9.3","0.9.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3799571,"resolution":"1","location":"assets","locale":"","width":1248,"height":1025},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3799571,"resolution":"2","location":"assets","locale":"","width":1248,"height":1026},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3799571,"resolution":"3","location":"assets","locale":"","width":1248,"height":586},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3799571,"resolution":"4","location":"assets","locale":"","width":1248,"height":859},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3799571,"resolution":"5","location":"assets","locale":"","width":1248,"height":864},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3799571,"resolution":"6","location":"assets","locale":"","width":1248,"height":587},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3799571,"resolution":"7","location":"assets","locale":"","width":1248,"height":900},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3799571,"resolution":"8","location":"assets","locale":"","width":1248,"height":900}},"screenshots":{"1":"Search, distance filter and clustered map in one block.","2":"\"Near me\": nearest locations sorted by distance, with the search radius drawn on the map.","3":"Opening hours with live status (\"Open now\", \"Closes soon\") and an \"Open now\" filter.","4":"Click a cluster or pin on the map and the list shows just those locations.","5":"Optional start screen for long lists: visitors choose an area or use their location first.","6":"Share a location by WhatsApp, email or text in one tap.","7":"Mobile-first layout.","8":"Optional clickable T\u00fcrkiye province map."}},"plugin_section":[],"plugin_tags":[14959,2909,15082,16164,6102],"plugin_category":[49],"plugin_contributors":[292440],"plugin_business_model":[],"class_list":["post-401002","plugin","type-plugin","status-publish","hentry","plugin_tags-dealer-locator","plugin_tags-map","plugin_tags-opening-hours","plugin_tags-openstreetmap","plugin_tags-store-locator","plugin_category-maps-and-location","plugin_contributors-sanvador","plugin_committers-sanvador"],"banners":{"banner":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/banner-772x250.png?rev=3799556","banner_2x":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/banner-1544x500.png?rev=3799556","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/icon-128x128.png?rev=3799556","icon_2x":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/icon-256x256.png?rev=3799556","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/screenshot-1.png?rev=3799571","caption":"Search, distance filter and clustered map in one block."},{"src":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/screenshot-2.png?rev=3799571","caption":"\"Near me\": nearest locations sorted by distance, with the search radius drawn on the map."},{"src":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/screenshot-3.png?rev=3799571","caption":"Opening hours with live status (\"Open now\", \"Closes soon\") and an \"Open now\" filter."},{"src":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/screenshot-4.png?rev=3799571","caption":"Click a cluster or pin on the map and the list shows just those locations."},{"src":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/screenshot-5.png?rev=3799571","caption":"Optional start screen for long lists: visitors choose an area or use their location first."},{"src":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/screenshot-6.png?rev=3799571","caption":"Share a location by WhatsApp, email or text in one tap."},{"src":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/screenshot-7.png?rev=3799571","caption":"Mobile-first layout."},{"src":"https:\/\/ps.w.org\/sanvador-store-locator\/assets\/screenshot-8.png?rev=3799571","caption":"Optional clickable T\u00fcrkiye province map."}],"raw_content":"<!--section=description-->\n<p>Sanvador Store Locator lets visitors find your nearest dealer, service point, store, branch, clinic, office, restaurant or school in seconds \u2013 on phones and on desktop.<\/p>\n\n<p>A short setup wizard asks two questions:<\/p>\n\n<ol>\n<li><strong>What do you list?<\/strong> Pick a sector template (technical services, dealer network, stores, branches, health, real estate, restaurants, schools or your own). Names (\"12 dealers found\"), categories and extra fields are prepared for you.<\/li>\n<li><strong>Where?<\/strong> The whole world, one country or one city. Regions are ready for 200 countries (81 Turkish provinces, 50 US states, 16 German states \u2026); in city mode visitors filter by district.<\/li>\n<\/ol>\n\n<p>Features<\/p>\n\n<ul>\n<li>Works worldwide: country \u2192 region (state\/province) \u2192 city\/district, localized country names<\/li>\n<li>Categories with their own colours (filter chips on the page, coloured pins on the map)<\/li>\n<li>Opening hours per weekday (with lunch breaks and after-midnight closing): \"Open now \u00b7 Closes 18:00\" badge on every card and an \"Open now\" filter<\/li>\n<li>Search near an address or postcode, or \"Nearest to me\" \u2013 with a distance filter (5\u2013250 km or miles) and a radius circle on the map<\/li>\n<li>Custom fields: website, specialties, photo \u2026 (text, long text, link, email, phone, image)<\/li>\n<li>Pin map with OpenStreetMap (no API key, Leaflet bundled), nearby pins grouped into clusters \u2013 or the clickable Turkey province map<\/li>\n<li>Map locations found automatically from addresses \u2013 no need to type coordinates<\/li>\n<li>Instant keyword search that tolerates accents and punctuation<\/li>\n<li>Block editor block (\"Sanvador Store Locator\") with country, category, region, map and colour options<\/li>\n<li>Privacy: optional \"Show map\" consent step (GDPR \/ KVKK) \u2013 nothing is loaded from outside servers before the visitor agrees<\/li>\n<li>Works with caching and optimization plugins (WP Rocket, LiteSpeed Cache, SiteGround Optimizer, Autoptimize, W3 Total Cache \u2026): the locator is kept out of \"delay JS\" and page caches are cleared when records change<\/li>\n<li>Big call \/ WhatsApp \/ directions buttons; WhatsApp links are built in international format from local numbers<\/li>\n<li>CSV import &amp; export that works with Excel files (Turkish\/English\/\u2026 headers, categories and custom fields, test run before saving)<\/li>\n<li>Settings page with tabs: names, categories, custom fields, features on\/off, map<\/li>\n<li>Shortcode: [sanvador_store_locator] \u2013 options: country=\"DE\", region=\"Bayern\", category=\"showroom\", per_page=\"12\", color=\"#0a6cbd\", map=\"auto|pins|region|none\"<\/li>\n<\/ul>\n\n<p>More information, documentation and a live demo: <a href=\"https:\/\/plugins.sanvador.com\/sanvador-store-locator\/\">plugins.sanvador.com<\/a><\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin uses these outside services:<\/p>\n\n<ul>\n<li>OpenStreetMap tile servers (or the tile server you configure) \u2013 to draw the pin map in the visitor's browser. <a href=\"https:\/\/operations.osmfoundation.org\/policies\/tiles\/\">Tile usage policy<\/a><\/li>\n<li>OpenStreetMap Nominatim \u2013 from your server, to find coordinates for addresses you save and for addresses visitors search. <a href=\"https:\/\/operations.osmfoundation.org\/policies\/nominatim\/\">Nominatim usage policy<\/a>, <a href=\"https:\/\/osmfoundation.org\/wiki\/Privacy_Policy\">OSMF privacy policy<\/a><\/li>\n<\/ul>\n\n<h3>Credits<\/h3>\n\n<p>Pin map: Leaflet 1.9.4 (BSD-2-Clause, https:\/\/leafletjs.com, source: https:\/\/github.com\/Leaflet\/Leaflet) and map data \u00a9 OpenStreetMap contributors. See assets\/vendor\/leaflet\/LICENSE.txt.<\/p>\n\n<p>Pin clustering: Leaflet.markercluster 1.5.3 (MIT, source: https:\/\/github.com\/Leaflet\/Leaflet.markercluster). See assets\/vendor\/markercluster\/MIT-LICENCE.txt.<\/p>\n\n<p>Region lists: ISO 3166-2 subdivisions from the iso-codes project (LGPL-2.1), see assets\/data\/regions\/README.txt.<\/p>\n\n<p>Turkey province map data is based on \"svg-turkiye-haritasi\" by Do\u011fukan G\u00fcven Nomak (https:\/\/github.com\/dnomak\/svg-turkiye-haritasi), released under the MIT License. See assets\/data\/LICENSE-turkey-map.txt.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>sanvador-store-locator<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>The setup wizard opens \u2013 choose your sector and area (you can run it again from the menu).<\/li>\n<li>Add the \"Sanvador Store Locator\" block (or the <code>[sanvador_store_locator]<\/code> shortcode) to any page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20enter%20opening%20hours%20in%20the%20csv%20file%3F\"><h3>How do I enter opening hours in the CSV file?<\/h3><\/dt>\n<dd><p>Use one \"Opening hours\" column, for example <code>Mo-Fr 09:00-18:00; Sa 10:00-14:00; Su off<\/code>, <code>Mo-Fr 08:30-12:30,13:30-17:30<\/code> or <code>24\/7<\/code>. Turkish, German, French and Spanish day names work too (<code>Pzt-Cum 09:00-18:00; Cmt 09:00-13:00; Paz kapal\u0131<\/code>). Rows with hours that cannot be read are still imported and listed as warnings.<\/p><\/dd>\n<dt id=\"which%20time%20zone%20is%20used%20for%20%22open%20now%22%3F\"><h3>Which time zone is used for \"Open now\"?<\/h3><\/dt>\n<dd><p>The time zone of each record's country (for countries with one time zone), otherwise the site's time zone (Settings \u2192 General).<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20visitor%20data%20anywhere%3F\"><h3>Does the plugin send visitor data anywhere?<\/h3><\/dt>\n<dd><p>Map tiles are loaded from the tile server set under Map settings (OpenStreetMap by default) \u2013 turn on the consent option to load them only after the visitor agrees. Address searches go to your own site, which asks OpenStreetMap Nominatim and caches the answer; the visitor's IP address is not passed on. Each visitor can make 30 new address searches per 10 minutes (filter: <code>sanvador_sl_geocode_limit<\/code>).<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20distance%20choices%3F\"><h3>Can I change the distance choices?<\/h3><\/dt>\n<dd><p>Yes, with the <code>sanvador_sl_radius_options<\/code> filter (array of numbers in your distance unit).<\/p><\/dd>\n<dt id=\"i%20use%20an%20earlier%20version%20under%20another%20name%20%28%22service%20finder%22%20or%20a%200.7%E2%80%930.8%20build%29.%20how%20do%20i%20upgrade%3F\"><h3>I use an earlier version under another name (\"Service Finder\" or a 0.7\u20130.8 build). How do I upgrade?<\/h3><\/dt>\n<dd><ol>\n<li>Do not delete the old plugin yet \u2013 deleting it first removes its data.<\/li>\n<li>Install and activate Sanvador Store Locator. The old copy is switched off, your locations, settings, categories and fields are moved over automatically, and pages with the old shortcode or block keep working.<\/li>\n<li>Delete the old plugin.<\/li>\n<\/ol><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.9.4<\/h4>\n\n<ul>\n<li>New translations: German, Spanish, French, Italian, Portuguese (Brazil), Dutch, Polish, Russian, Japanese and Arabic.<\/li>\n<li>Right-to-left support: the locator and its admin screens now lay out correctly on Arabic, Hebrew and Persian sites; phone numbers always read left to right.<\/li>\n<li>The plugin author is now shown as Sanvador, and the author link points to plugins.sanvador.com.<\/li>\n<\/ul>\n\n<h4>0.9.3<\/h4>\n\n<ul>\n<li>Sites that already have locations (set up by hand, or updated from Locatory or Service Finder) no longer see the \"Start setup\" reminder.<\/li>\n<li>\"Skip\" in the setup wizard no longer replaces your own record names on a site that already has categories or fields.<\/li>\n<\/ul>\n\n<h4>0.9.2<\/h4>\n\n<ul>\n<li>\"When the page opens\" has a new default, Automatic: with more than 20 locations visitors first choose an area (or use \"Nearest to me\"), with fewer the list is shown at once. Sites that already saved this setting keep their choice.<\/li>\n<li>The block has its own \"When the page opens\" option, so one page can list everything while another asks first (the shortcode already had <code>start=\"\u2026\"<\/code>; it now also accepts <code>auto<\/code>).<\/li>\n<li>Developers: filter <code>sanvador_sl_auto_prompt_over<\/code> changes the 20-location limit.<\/li>\n<\/ul>\n\n<h4>0.9.1<\/h4>\n\n<ul>\n<li>\"Go Pro\" links and the plugin website link now open the new product page (plugins.sanvador.com).<\/li>\n<\/ul>\n\n<h4>0.9.0<\/h4>\n\n<ul>\n<li>New name and address: Sanvador Store, Dealer &amp; Service Locator (folder and text domain <code>sanvador-store-locator<\/code>, shortcode <code>[sanvador_store_locator]<\/code>, block \"Sanvador Store Locator\").<\/li>\n<li>Sites with an earlier version: activating this plugin switches the old copy off and moves locations, settings, categories and fields over automatically. Pages with the old shortcode or block and links shared earlier keep working.<\/li>\n<li>Shared links now use <code>?sl=12<\/code>.<\/li>\n<li>Developers: options, hooks, the REST route (<code>sanvador-store-locator\/v1<\/code>), DOM events (<code>sanvador-store-locator:results<\/code>, <code>:action<\/code>, <code>:empty<\/code>) and JavaScript objects use the new prefix.<\/li>\n<\/ul>\n\n<h4>0.8.8<\/h4>\n\n<ul>\n<li>Developers: new filter <code>sanvador_sl_share_template<\/code> adds text before and after a shared location ({name} and {place} are filled in).<\/li>\n<\/ul>\n\n<h4>0.8.7<\/h4>\n\n<ul>\n<li>New setting \"When the page opens\": list all locations (as before) or ask the visitor to choose an area first \u2013 the map stays, and a short prompt with \"Choose region\" and \"Nearest to me\" replaces the cards until the visitor chooses, searches or taps the map. Shortcode: start=\"prompt\" or start=\"all\".<\/li>\n<\/ul>\n\n<h4>0.8.6<\/h4>\n\n<ul>\n<li>New Share button on location cards: send a location's name, address, phone, contact person, directions and a link by WhatsApp, e-mail or text message. Phones and tablets open the system share menu; computers show WhatsApp, e-mail and \"Copy details\". Can be turned off under Settings.<\/li>\n<li>After an update, page caches (LiteSpeed, WP Rocket, W3 Total Cache \u2026, including separate mobile caches) are cleared once so visitors get the new version.<\/li>\n<li>Shared links open the locator with only that location listed and the map zoomed to it.<\/li>\n<\/ul>\n\n<h4>0.8.5<\/h4>\n\n<ul>\n<li>Location cards: all text is left-aligned even when the theme centres paragraphs (address line too); the contact person line has a small person icon.<\/li>\n<\/ul>\n\n<h4>0.8.4<\/h4>\n\n<ul>\n<li>Admin scripts moved into an enqueued file (no inline script or style tags).<\/li>\n<li>Script handles and the setup wizard's JavaScript object are now prefixed.<\/li>\n<li>The setup reminder only appears on Sanvador Store Locator's own screens.<\/li>\n<li>Upgrading from Service Finder: migrations also run for very old installs without a version number.<\/li>\n<li>The area centre is looked up only after you click \"Find locations\", not when the list opens.<\/li>\n<li>Fixed a PHP 8.1 deprecation notice on the edit screen.<\/li>\n<\/ul>\n\n<h4>0.8.3<\/h4>\n\n<ul>\n<li>Pin map: clicking a cluster (e.g. \"2\" on a city) or a single pin now lists those locations below the map, with a \"Show all\" link to return to the full list.<\/li>\n<\/ul>\n\n<h4>0.8.2<\/h4>\n\n<ul>\n<li>On desktop computers the Call button now shows the phone number itself; clicking it copies the number. Phones and tablets keep the tap-to-call button.<\/li>\n<\/ul>\n\n<h4>0.8.1<\/h4>\n\n<ul>\n<li>\"Go Pro\" page under the Sanvador Store Locator menu introducing Sanvador Store Locator Pro (hidden when Pro is active), with one dismissible card on the locations screen.<\/li>\n<\/ul>\n\n<h4>0.8.0<\/h4>\n\n<ul>\n<li>Cards and map popups link to a location's own page when one exists (e.g. with Sanvador Store Locator Pro).<\/li>\n<li>Developer events for add-ons: <code>sanvador-store-locator:results<\/code>, <code>sanvador-store-locator:action<\/code> and <code>sanvador-store-locator:empty<\/code>, plus the <code>sanvador_sl_location_data<\/code> filter.<\/li>\n<\/ul>\n\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>New name: Sanvador Store Locator (previously \"Service Finder\"). Data from earlier versions is migrated automatically; <code>[service_finder]<\/code> still works on upgraded sites.<\/li>\n<li>Opening hours: weekly editor (two periods per day, 24 hours, after-midnight closing), \"Open now \/ Closes soon \/ Closed \u00b7 Opens Mon 09:00\" badge, weekly table on the cards and an \"Open now\" filter. CSV column with day names in several languages.<\/li>\n<li>Location search: type an address, district or postcode (or use \"Nearest to me\"), then limit results by distance. A radius circle is drawn on the map. When a keyword finds nothing, the locator offers to search it as a place.<\/li>\n<li>Pin clustering for maps with many locations (Leaflet.markercluster).<\/li>\n<li>Block editor block with sidebar options.<\/li>\n<li>Optional consent step before loading the pin map (GDPR \/ KVKK).<\/li>\n<li>Compatibility with caching\/optimization plugins; page caches are cleared when records change.<\/li>\n<li>The old free-text \"Working hours\" field of the sector templates is converted to the new opening hours automatically.<\/li>\n<li>Opening hours can have their own time zone per location (for countries with several time zones).<\/li>\n<li>Internal: unique \"sanvador_sl_\" prefix for options and the database table (migrated automatically), safer database queries, complete uninstall. Requires WordPress 6.2.<\/li>\n<\/ul>\n\n<h4>0.6.2<\/h4>\n\n<ul>\n<li>Search: if nothing matches inside the selected region\/category, matches from all areas are shown (e.g. \"Adana\" typed while \"\u0130stanbul\" is selected).<\/li>\n<li>Search reacts to more events (keyup, paste, IME, clear button) \u2013 works with phone keyboards and themes that swallow \"input\" events; Enter shows the results.<\/li>\n<li>Province map highlights the provinces that contain search results.<\/li>\n<\/ul>\n\n<h4>0.6.1<\/h4>\n\n<ul>\n<li>Map locations are found automatically from the address (OpenStreetMap Nominatim, 1 request\/second, cached): on save, and with the new \"Find locations\" button (progress bar) for imported records.<\/li>\n<li>The pin map is now shown in every country; when no record has coordinates yet it is centred on the chosen country or city.<\/li>\n<li>New setting: Map \u2192 Locations (automatic lookup on\/off).<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Multi-sector: setup wizard with 9 sector templates, editable record names (singular \/ plural \/ after a number).<\/li>\n<li>Scope: whole world, one country (regions ready for 200 countries) or one city (filter by district, city found on the map).<\/li>\n<li>Categories with colours: filter chips and coloured pins; created automatically from CSV.<\/li>\n<li>Custom fields (text, long text, link, email, phone, image) on the form, cards, map popups and in CSV.<\/li>\n<li>Settings split into tabs; record form adapts to the chosen scope.<\/li>\n<li>Existing installs are migrated as \"technical service network\" without showing the wizard.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Worldwide: country and region fields, localized country names, international phone\/WhatsApp formatting, km or miles.<\/li>\n<li>New pin map (Leaflet + OpenStreetMap, bundled locally, loaded only when shown). Click a card's location to open its pin.<\/li>\n<li>New Settings page: features on\/off, colour, cards per page, region label, map type\/height\/tiles, directions app, WhatsApp text.<\/li>\n<li>CSV: country column (name or code), region\/state column, worldwide header names; legacy encodings per country.<\/li>\n<li>Existing Turkish data is migrated automatically.<\/li>\n<\/ul>\n\n<h4>0.4.2<\/h4>\n\n<ul>\n<li>Search ignores punctuation (\"mas tek\" finds \"Mas-Tek\").<\/li>\n<\/ul>\n\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>Lighter, smaller card titles (reads better with ALL CAPS company names).<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Interactive Turkey map on wide screens: provinces with services are highlighted, hover shows the service count, click filters the list (click again to clear). Keyboard accessible. Map data loads only when the map is shown (never on phones).<\/li>\n<li>New shortcode option: map=\"auto|yes|no\".<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>CSV import &amp; export (Sanvador Store Locator \u2192 Import \/ Export): Excel-friendly (semicolon or comma, UTF-8 or Windows-1254), Turkish or English headers, province by name or plate code, test run before saving, update\/skip\/replace modes, sample template.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Front end: [service_finder] shortcode with province menu, instant search (Turkish-character tolerant), \"Nearest to me\", mobile-first service cards (call, WhatsApp, directions), \"Show more\" paging.<\/li>\n<li>Turkish (tr_TR) translation.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial skeleton: services table, admin list and add\/edit screen.<\/li>\n<\/ul>","raw_excerpt":"Store, dealer and service-point locator: search, \"near me\" with distance, \"Open now\", clustered map, CSV import. Worldwide, no API key.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/401002","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=401002"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sanvador"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=401002"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=401002"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=401002"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=401002"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=401002"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=401002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}