Portugal States (Distritos) for WooCommerce


This plugin adds the 18 Portuguese “States” (known as “Distritos”) plus the 2 Autonomous Regions (known as “Regiões Autónomas”, Madeira and Açores) to WooCommerce.

Also sets the right name for “Districts” and the correct “Postal Code”/”City” order and the correct address format for Portugal.

And… that’s pretty much it.

Do your customers still write the full postal code manually on the checkout?

Activate the automatic filling of the postal code at the checkout, avoiding incorrect data at the time of sending, with our plugin Portuguese Postcodes for WooCommerce

Are you already issuing automatic invoices on your WooCommerce store?

If not, get to know our new plugin: Invoicing with InvoiceXpress for WooCommerce


  • Adds the Portuguese “States”, known as “Distritos”, to WooCommerce
  • Sets the correct address format for Portugal, including the correct “Postal Code”/”City” order


Use the included automatic install feature on your WordPress admin panel and search for “Portugal States (Distritos) for WooCommerce”.


The District has disappeared from my client (plain text) addresses since version 2.0. Can I get it back?

Yes. Add this to your (child) theme’s functions.php file:
add_filter( ‘woocommerce_portugal_address_format_include_state’, ‘__return_true’ );


October 9, 2019
Si tu tienda incluye envíos a Portugal este es el plugin que necesitas. Tendrás en las direcciones de cliente la opción de poder elegir el distrito (lo equivalente a las provincias de España), algo que WooCommerce no incluye por defecto.
July 24, 2019
Obrigatório para ecommerce em Portugal no wordpress, obrigado pelo excelente trabalho!!
January 3, 2019
Plugin simples, mas de grande utilidade. Fiquei horas a tentar configurar as localidades e zonas com custos diferentes em minha loja no woocommerce, e por acaso encontrei este plugin, que consegui confirgurar em minutos... Parabéns e obrigado por este plugin 🙂
December 11, 2016
A must have plugin if you're configuring shipping methods in WooCommerce for Portuguese “Distritos”. Thank you!
Read all 7 reviews

Contributors & Developers

“Portugal States (Distritos) for WooCommerce” is open source software. The following people have contributed to this plugin.


“Portugal States (Distritos) for WooCommerce” has been translated into 3 locales. Thank you to the translators for their contributions.

Translate “Portugal States (Distritos) for WooCommerce” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.




  • Tested with WordPress 5.3.3-alpha-47419 and WooCommerce 4.0.1

  • Changes on the InvoiceXpress banner

  • Fix version number


  • Hide the InvoiceXpress nag if the invoicing is already installed and active
  • Tested with WordPress 5.3.1-alpha-46798 and WooCommerce 3.8.1


  • Change InvoiceXpress nag interval from 30 to 90 days
  • Tested with WordPress 5.2.4-alpha-46074 and WooCommerce 3.8.0-beta.1
  • Requires PHP 5.6

  • readme.txt small fix


  • Tested with WooCommerce 3.5.2
  • Bumped WC tested up tag
  • Bumped Requires at least tag


  • Tested with WooCommerce 3.5
  • Bumped WC tested up to tag


  • Added the woocommerce_portugal_postcode_priority filter to allow overriding the “Postal Code” priority value


  • Fix “Postal Code”/”City” fields order on the checkout on newer WooCommerce versions
  • The “City” field label is now “Postcode Town / City” on the checkout
  • New woocommerce_portugal_city_label filter to be able to change the “City” field label
  • New woocommerce_portugal_state_label filter to be able to change the “District” field label
  • New woocommerce_portugal_state_required filter to be able to set the “District” field as not required
  • Bumped WC tested up to tag


  • Removed the district from the plain text address format for Portugal, as we do not use it on a day to day basis: “{name}\n{company}\n{address_1}\n{address_2}\n{postcode} {city}\n{country}” (can be restored via the woocommerce_portugal_address_format_include_state filter)
  • Better coding standards

  • Fixed readme.txt

  • Tested with WooCommerce 3.3
  • Bumped Tested up to tag


  • Removed the translation files from the plugin lang folder (the translations are now managed on WordPress.org’s GlotPress tool and will be automatically downloaded from there)
  • Tested with WooCommerce 3.2
  • Added WC tested up to tag on the plugin main file
  • Bumped Tested up to tag


  • Tested with WooCommerce 3.0.0-rc.2
  • Bumped Tested up to tag
  • Portuguese translation update


  • Bumped Tested up to tag


  • Sets the correct Portuguese address format: “{name}\n{company}\n{address_1}\n{address_2}\n{postcode} {city}\n{state}\n{country}”


  • Bumped “Requires at least” and “Tested up to” tags


  • The district is now required by default, as is on all the other countries that have states loaded by the WooCommerce core


  • Important bug fix: No longer overrides other countries states


  • WordPress Multisite support


  • Now also sets the right name for “Districts” and the correct “Postal Code”/”City” order


  • Initial release.