Description
Bangladeshi stores usually ask customers to type their thana or upazila into a
free text box. Customers spell it differently every time, delivery staff have
to guess, and couriers reject addresses they cannot match.
This plugin replaces that text box with a dropdown. The customer picks a
District, and the Thana / Upazila list updates instantly to show only
the areas inside that district.
Complete, current data
- All 64 districts, using the official English spellings adopted in 2018:
Chattogram, Cumilla, Barishal, Jashore and Bogura. - 620 thanas and upazilas in total.
- Metropolitan police thanas are included alongside rural upazilas for Dhaka,
Chattogram, Khulna, Rajshahi, Sylhet, Gazipur, Narayanganj, Barishal and
Rangpur. A customer in Mirpur, Uttara, Panchlaish or Sonadanga can select
their actual area rather than the nearest rural upazila.
Built for real stores
- Works on the checkout, My Account address forms, and the cart shipping
calculator. - Nothing is preselected. The district field prompts « Please select district »
and the thana field prompts « Please select district first » until a district
is chosen, then « Please select thana ». - Districts WooCommerce would otherwise prefill from your shop base address or
IP geolocation are cleared, so a customer outside your own city is never
quoted the wrong delivery charge because they skimmed past a guessed field.
A returning customer’s own saved address is left untouched. - Declares compatibility with WooCommerce High-Performance Order Storage
(HPOS) and the Cart and Checkout Blocks features. - Adds no database tables, no settings page, and no admin bloat. The data ships
as plain PHP arrays, so there are no extra queries on the checkout. - Around 3 KB of gzipped data is added to the checkout page, loaded only where
address fields are actually rendered.
Data sources
District and thana names are cross-checked against the Dhaka Metropolitan
Police station directory and public Bangladesh administrative division records.
Credits
This plugin is a derivative work distributed under the GNU General Public
License v2 or later.
- The states and places architecture, and the cascading select script, come
from the WC City Select plugin, https://wordpress.org/plugins/wc-city-select/ - The Bangladesh adaptation, « Thana/Upazila Dropdown for Woocommerce
[Bangladesh] », is by Md Rasel Khan,
https://github.com/immdraselkhan/Thana-Upazila-Dropdown-for-Woocommerce-Bangladesh
Installation
- Go to Plugins > Add New > Upload Plugin and upload the ZIP file.
- Activate the plugin.
- Make sure Bangladesh is enabled under WooCommerce > Settings > General >
Selling location(s).
There is nothing to configure. Open your checkout page and the District and
Thana fields will be in place.
FAQ
-
WooCommerce keeps prefilling my own city. Can I keep that behaviour?
-
By default the plugin clears a district or thana that WooCommerce guessed from
the shop base address or IP geolocation, so both dropdowns open on their
prompt. Addresses your logged-in customers saved themselves are never cleared.To go back to WooCommerce’s guess, add:
add_filter( 'bdaf_clear_prefilled_address', '__return_false' );This works regardless of what WooCommerce > Settings > General > Default
customer location is set to, so you do not have to change that setting. -
Can I keep WooCommerce’s own district names?
-
The plugin corrects five district labels. To keep the WooCommerce core labels
instead, add:add_filter( 'bdaf_override_core_states', '__return_false' );District codes are never changed either way, so shipping zones are safe.
-
The Thana field still shows as a text box
-
Check that Bangladesh is listed in your allowed selling or shipping countries.
The dropdown only appears for countries that have matching data files in the
plugin’sstatesandplacesfolders. -
Does this work with the block based Checkout?
-
The cascading dropdown is built for the classic shortcode checkout. On the
block checkout the plugin steps aside and WooCommerce’s standard fields are
used, so nothing breaks. -
A thana in my area is missing or spelled differently
-
Edit
places/bd.phpand adjust the array for that district. The keys match the
district codes instates/bd.php. Please also open an issue so the correction
can ship for everyone. -
Will this change my existing orders?
-
No. Orders keep whatever address was stored when they were placed. The plugin
only changes how the field is displayed from now on.
Avis
Il n’y a aucun avis pour cette extension.
Contributeurs/contributrices & développeurs/développeuses
« BD Address Fields for WooCommerce » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.
ContributeursTraduisez « BD Address Fields for WooCommerce » dans votre langue.
Le développement vous intéresse ?
Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.
Journal des modifications
1.0.0
- Initial release.
- 64 districts and 620 thanas and upazilas.
- Metropolitan thanas included for nine city districts, so customers in Mirpur,
Uttara, Panchlaish or Sonadanga can select their own area. - District codes match those used by WooCommerce core, so shipping zones and
saved orders keep working. Five district labels are corrected: the trailing
spaces on Faridpur and Manikganj are removed, and Nawabganj, Netrakona and
Jhalokati become Chapainawabganj, Netrokona and Jhalakathi. - No value is preselected in either dropdown. The customer is prompted to
choose a district, then a thana. - Districts and thanas prefilled by WooCommerce from the shop base address or
IP geolocation are cleared, while saved customer addresses are preserved. - WooCommerce HPOS and Cart/Checkout Blocks compatibility declared.
