Title: Sri Lankan Cities for WooCommerce
Author: Thushara Lakshan
Published: <strong>3 julho, 2026</strong>
Last modified: 3 julho, 2026

---

Pesquisar plugins

![](https://ps.w.org/sl-cities-woo/assets/banner-772x250.png?rev=3594909)

![](https://ps.w.org/sl-cities-woo/assets/icon-256x256.png?rev=3594909)

# Sri Lankan Cities for WooCommerce

 Por [Thushara Lakshan](https://profiles.wordpress.org/lakshan12/)

[Baixar](https://downloads.wordpress.org/plugin/sl-cities-woo.1.0.0.zip)

 * [Detalhes](https://br.wordpress.org/plugins/sl-cities-woo/#description)
 * [Avaliações](https://br.wordpress.org/plugins/sl-cities-woo/#reviews)
 *  [Instalação](https://br.wordpress.org/plugins/sl-cities-woo/#installation)
 * [Desenvolvimento](https://br.wordpress.org/plugins/sl-cities-woo/#developers)

 [Suporte](https://wordpress.org/support/plugin/sl-cities-woo/)

## Descrição

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.

## Capturas de tela

[⌊Classic checkout — the required District dropdown with all 25 Sri Lankan districts.⌉⌊
Classic checkout — the required District dropdown with all 25 Sri Lankan districts
.⌉[

Classic checkout — the required District dropdown with all 25 Sri Lankan districts.

[⌊Pick a known city and the postal code fills in automatically — shipping switches
to the matching district zone.⌉⌊Pick a known city and the postal code fills in automatically—
shipping switches to the matching district zone.⌉[

Pick a known city and the postal code fills in automatically — shipping switches
to the matching district zone.

[⌊The block checkout is fully supported: district, city suggestions and postcode
autofill.⌉⌊The block checkout is fully supported: district, city suggestions and
postcode autofill.⌉[

The block checkout is fully supported: district, city suggestions and postcode autofill.

[⌊Ship by district — districts appear as regions in WooCommerce → Settings → Shipping.⌉⌊
Ship by district — districts appear as regions in WooCommerce → Settings → Shipping
.⌉[

Ship by district — districts appear as regions in WooCommerce  Settings  Shipping.

## Instalação

 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.

## Perguntas frequentes

### 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.

## Avaliações

![](https://secure.gravatar.com/avatar/bf5a3c306ae47c8bb80e60ee9944449d9b4be590cdbd55cb367f029866d427c8?
s=60&d=retro&r=g)

### 󠀁[Excellent Plugin – District-Based Shipping Would Be Amazing](https://wordpress.org/support/topic/excellent-plugin-district-based-shipping-would-be-amazing/)󠁿

 [semhzaid](https://profiles.wordpress.org/semhzaid/) 31 julho, 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!

 [ Leia a 1 avaliação ](https://wordpress.org/support/plugin/sl-cities-woo/reviews/)

## Colaboradores e desenvolvedores

“Sri Lankan Cities for WooCommerce” é um programa de código aberto. As seguintes
pessoas contribuíram para este plugin.

Colaboradores

 *   [ Thushara Lakshan ](https://profiles.wordpress.org/lakshan12/)

[Traduzir o “Sri Lankan Cities for WooCommerce” para seu idioma.](https://translate.wordpress.org/projects/wp-plugins/sl-cities-woo)

### Interessado no desenvolvimento?

[Navegue pelo código](https://plugins.trac.wordpress.org/browser/sl-cities-woo/),
consulte o [repositório SVN](https://plugins.svn.wordpress.org/sl-cities-woo/) ou
assine o [registro de desenvolvimento](https://plugins.trac.wordpress.org/log/sl-cities-woo/)
por [RSS](https://plugins.trac.wordpress.org/log/sl-cities-woo/?limit=100&mode=stop_on_copy&format=rss).

## Registro de alterações

#### 1.0.0

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

## Meta

 *  Versão **1.0.0**
 *  Última atualização **1 mês atrás**
 *  Instalações ativas **10+**
 *  Versão do WordPress ** 6.5 ou superior **
 *  Testado até **7.0.3**
 *  Versão do PHP ** 7.4 ou superior **
 *  Idioma
 * [English (US)](https://wordpress.org/plugins/sl-cities-woo/)
 * Tags
 * [checkout](https://br.wordpress.org/plugins/tags/checkout/)[districts](https://br.wordpress.org/plugins/tags/districts/)
   [postcode](https://br.wordpress.org/plugins/tags/postcode/)[sri lanka](https://br.wordpress.org/plugins/tags/sri-lanka/)
   [woocommerce](https://br.wordpress.org/plugins/tags/woocommerce/)
 *  [Visualização avançada](https://br.wordpress.org/plugins/sl-cities-woo/advanced/)

## Classificações

 5 de 5 estrelas.

 *  [  1 avaliação com 5 estrela     ](https://wordpress.org/support/plugin/sl-cities-woo/reviews/?filter=5)
 *  [  0 avaliação com 4 estrela     ](https://wordpress.org/support/plugin/sl-cities-woo/reviews/?filter=4)
 *  [  0 avaliação com 3 estrela     ](https://wordpress.org/support/plugin/sl-cities-woo/reviews/?filter=3)
 *  [  0 avaliação com 2 estrela     ](https://wordpress.org/support/plugin/sl-cities-woo/reviews/?filter=2)
 *  [  0 avaliação com 1 estrela     ](https://wordpress.org/support/plugin/sl-cities-woo/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/sl-cities-woo/reviews/#new-post)

[Ver todas avaliações](https://wordpress.org/support/plugin/sl-cities-woo/reviews/)

## Colaboradores

 *   [ Thushara Lakshan ](https://profiles.wordpress.org/lakshan12/)

## Suporte

Tem algo a dizer? Precisa de ajuda?

 [Ver fórum de suporte](https://wordpress.org/support/plugin/sl-cities-woo/)