Sri Lankan Cities for WooCommerce

Περιγραφή

WooCommerce ships Sri Lanka with no districts and the State field hidden. This plugin makes checkout work the way Sri Lankan addresses actually work: 101, Main Street, Negombo, Gampaha, 11500, Sri Lanka.

  • Adds all 25 districts as a required District dropdown, keyed by ISO 3166-2:LK codes so couriers and shipping plugins interoperate.
  • Suggests cities for the selected district while the customer types — 288 verified cities across all 25 districts.
  • Autofills the postal code when a known city is picked — still editable, and it never overwrites a code the customer typed themselves.
  • Lets you build district-based shipping zones (WooCommerce Settings Shipping Add zone pick districts).
  • Works on both the classic (shortcode) checkout and the block checkout.

Safety and design

  • No external services. No data leaves your site, nothing is tracked, no account is needed.
  • No AJAX endpoints, no database writes, no extra checkout fields — WooCommerce validates the district server-side automatically.
  • Everything fails safe: without WooCommerce the plugin does nothing; with JavaScript blocked, the district dropdown still works and city/postcode are normal manual fields.
  • Block-checkout updates go through WooCommerce’s official wp.data store API.

Data provenance

Every autofilled postal code was verified against Sri Lanka Post and independent directories (July 2026). Cities whose codes could not be fully verified are left out — for those, the city field simply works as a plain text box.

Στιγμιότυπα

Εγκατάσταση

  1. Install and activate from Plugins Add New Plugin (or upload the zip via Upload Plugin).
  2. WooCommerce 8.9 or newer must be active.
  3. Done — districts, city suggestions and postcode autofill work immediately on checkout. The plugin has no settings page of its own; the Settings link on the Plugins screen takes you to WooCommerce’s shipping settings, where the districts appear as zone regions.

Upgrading from the code-snippet version: if you previously installed this as a snippet (FluentSnippets, a child theme’s functions.php, or an mu-plugin file), remove that copy BEFORE activating the plugin. Both loaded at once causes a duplicate-function PHP error.

Συχνές Ερωτήσεις

How do I add my own cities?

Use the slwc_city_data filter from your child theme or a small snippet:

add_filter( 'slwc_city_data', function ( $data ) {
    $data['LK-12']['My Village'] = '11123'; // district code => city => postcode
    return $data;
} );

District keys are ISO 3166-2:LK codes (the full list is in the District dropdown at checkout). Keep postcodes as quoted 5-digit strings — leading zeros matter.

Does it work with the block checkout?

Yes. Both the classic shortcode checkout and the block checkout are supported; block updates go through WooCommerce’s official wp.data store API.

What if a customer’s city is not in the list?

Nothing breaks: the city field keeps working as a normal text box and the customer types their postcode manually.

Can I ship by district?

Yes — the districts appear as regions in WooCommerce Settings Shipping Add zone, so you can price shipping per district.

Κριτικές

31 Ιουλίου 2026
I’ve been using Sri Lankan Cities for WooCommerce, and I have to say it’s an excellent plugin. The installation was straightforward, and it works perfectly with the WooCommerce checkout. The district and city/area dropdowns make the checkout process much cleaner and more user-friendly for Sri Lankan customers. One feature I’d really love to see in a future update is shipping cost calculation based on cities/areas, not just districts. Currently, WooCommerce allows shipping costs to be configured by district, but many businesses charge different delivery fees depending on the specific city or area within the same district. It would be incredibly useful if the plugin could allow us to: Assign shipping costs to individual cities/areas. Automatically update the shipping charge when a customer selects their city/area during checkout. Keep the existing district functionality while adding more granular area-based shipping rules. I believe this feature would make the plugin even more valuable for Sri Lankan WooCommerce stores, especially businesses with location-based delivery pricing. Overall, this is a fantastic plugin, and I really appreciate the work that has gone into developing it. Thank you for creating such a useful solution, and I hope you’ll consider adding this feature in a future release. Highly recommended!
Ανάγνωση 1 κριτικής

Συνεισφέροντες & Προγραμματιστές

“Sri Lankan Cities for WooCommerce” είναι λογισμικό ανοιχτού κώδικα. Οι παρακάτω έχουν συνεισφέρει στη δημιουργία του.

Συντελεστές

Σύνοψη αλλαγών

1.0.0

  • Initial release: 25 districts at checkout, 288-city suggestions, postcode autofill, district shipping zones, classic + block checkout.