{"id":367357,"date":"2026-09-13T11:10:17","date_gmt":"2026-09-13T11:10:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bd-address-fields-for-woocommerce\/"},"modified":"2026-09-13T11:09:57","modified_gmt":"2026-09-13T11:09:57","slug":"bd-address-fields-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/kmr.wordpress.org\/plugins\/bd-address-fields-for-woocommerce\/","author":23374647,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.5","requires_php":"7.2","requires_plugins":null,"header_name":"BD Address Fields for WooCommerce","header_author":"MD. SHOFIULLAH","header_description":"Replaces the WooCommerce checkout city field with a cascading Thana\/Upazila dropdown for Bangladesh, linked to the District field. Includes all 64 districts and 620 thanas and upazilas, with metropolitan thanas for Dhaka, Chattogram, Khulna, Rajshahi, Sylhet, Gazipur, Narayanganj, Barishal and Rangpur.","assets_banners_color":"065d46","last_updated":"2026-09-13 11:09:57","external_support_url":"","external_repository_url":"","donate_link":"http:\/\/buymeacoffee.com\/shofiullah","header_plugin_uri":"https:\/\/github.com\/mdshofiullah","header_author_uri":"https:\/\/github.com\/mdshofiullah","rating":0,"author_block_rating":0,"active_installs":0,"downloads":45,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"shofiullah","date":"2026-09-13 11:09:57","revision":3693586}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3693586,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3693586,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3693586,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3693586,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"District and Thana dropdowns on the WooCommerce checkout.","2":"Selecting a district instantly filters the Thana list.","3":"The same fields on the My Account address form."}},"plugin_section":[],"plugin_tags":[570,3148,280440,280441,286],"plugin_category":[45],"plugin_contributors":[280442],"plugin_business_model":[],"class_list":["post-367357","plugin","type-plugin","status-publish","hentry","plugin_tags-bangladesh","plugin_tags-checkout","plugin_tags-thana","plugin_tags-upazila","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-shofiullah","plugin_committers-shofiullah"],"banners":{"banner":"https:\/\/ps.w.org\/bd-address-fields-for-woocommerce\/assets\/banner-772x250.png?rev=3693586","banner_2x":"https:\/\/ps.w.org\/bd-address-fields-for-woocommerce\/assets\/banner-1544x500.png?rev=3693586","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bd-address-fields-for-woocommerce\/assets\/icon-128x128.png?rev=3693586","icon_2x":"https:\/\/ps.w.org\/bd-address-fields-for-woocommerce\/assets\/icon-256x256.png?rev=3693586","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Bangladeshi stores usually ask customers to type their thana or upazila into a\nfree text box. Customers spell it differently every time, delivery staff have\nto guess, and couriers reject addresses they cannot match.<\/p>\n\n<p>This plugin replaces that text box with a dropdown. The customer picks a\n<strong>District<\/strong>, and the <strong>Thana \/ Upazila<\/strong> list updates instantly to show only\nthe areas inside that district.<\/p>\n\n<h4>Complete, current data<\/h4>\n\n<ul>\n<li>All 64 districts, using the official English spellings adopted in 2018:\nChattogram, Cumilla, Barishal, Jashore and Bogura.<\/li>\n<li>620 thanas and upazilas in total.<\/li>\n<li>Metropolitan police thanas are included alongside rural upazilas for Dhaka,\nChattogram, Khulna, Rajshahi, Sylhet, Gazipur, Narayanganj, Barishal and\nRangpur. A customer in Mirpur, Uttara, Panchlaish or Sonadanga can select\ntheir actual area rather than the nearest rural upazila.<\/li>\n<\/ul>\n\n<h4>Built for real stores<\/h4>\n\n<ul>\n<li>Works on the checkout, My Account address forms, and the cart shipping\ncalculator.<\/li>\n<li>Nothing is preselected. The district field prompts \"Please select district\"\nand the thana field prompts \"Please select district first\" until a district\nis chosen, then \"Please select thana\".<\/li>\n<li>Districts WooCommerce would otherwise prefill from your shop base address or\nIP geolocation are cleared, so a customer outside your own city is never\nquoted the wrong delivery charge because they skimmed past a guessed field.\nA returning customer's own saved address is left untouched.<\/li>\n<li>Declares compatibility with WooCommerce High-Performance Order Storage\n(HPOS) and the Cart and Checkout Blocks features.<\/li>\n<li>Adds no database tables, no settings page, and no admin bloat. The data ships\nas plain PHP arrays, so there are no extra queries on the checkout.<\/li>\n<li>Around 3 KB of gzipped data is added to the checkout page, loaded only where\naddress fields are actually rendered.<\/li>\n<\/ul>\n\n<h4>Data sources<\/h4>\n\n<p>District and thana names are cross-checked against the Dhaka Metropolitan\nPolice station directory and public Bangladesh administrative division records.<\/p>\n\n<h3>Credits<\/h3>\n\n<p>This plugin is a derivative work distributed under the GNU General Public\nLicense v2 or later.<\/p>\n\n<ul>\n<li>The states and places architecture, and the cascading select script, come\nfrom the WC City Select plugin, https:\/\/wordpress.org\/plugins\/wc-city-select\/<\/li>\n<li>The Bangladesh adaptation, \"Thana\/Upazila Dropdown for Woocommerce\n[Bangladesh]\", is by Md Rasel Khan,\nhttps:\/\/github.com\/immdraselkhan\/Thana-Upazila-Dropdown-for-Woocommerce-Bangladesh<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong> and upload the ZIP file.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Make sure Bangladesh is enabled under <strong>WooCommerce &gt; Settings &gt; General &gt;\nSelling location(s)<\/strong>.<\/li>\n<\/ol>\n\n<p>There is nothing to configure. Open your checkout page and the District and\nThana fields will be in place.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"woocommerce%20keeps%20prefilling%20my%20own%20city.%20can%20i%20keep%20that%20behaviour%3F\"><h3>WooCommerce keeps prefilling my own city. Can I keep that behaviour?<\/h3><\/dt>\n<dd><p>By default the plugin clears a district or thana that WooCommerce guessed from\nthe shop base address or IP geolocation, so both dropdowns open on their\nprompt. Addresses your logged-in customers saved themselves are never cleared.<\/p>\n\n<p>To go back to WooCommerce's guess, add:<\/p>\n\n<pre><code>add_filter( 'bdaf_clear_prefilled_address', '__return_false' );\n<\/code><\/pre>\n\n<p>This works regardless of what <strong>WooCommerce &gt; Settings &gt; General &gt; Default\ncustomer location<\/strong> is set to, so you do not have to change that setting.<\/p><\/dd>\n<dt id=\"can%20i%20keep%20woocommerce%27s%20own%20district%20names%3F\"><h3>Can I keep WooCommerce's own district names?<\/h3><\/dt>\n<dd><p>The plugin corrects five district labels. To keep the WooCommerce core labels\ninstead, add:<\/p>\n\n<pre><code>add_filter( 'bdaf_override_core_states', '__return_false' );\n<\/code><\/pre>\n\n<p>District codes are never changed either way, so shipping zones are safe.<\/p><\/dd>\n<dt id=\"the%20thana%20field%20still%20shows%20as%20a%20text%20box\"><h3>The Thana field still shows as a text box<\/h3><\/dt>\n<dd><p>Check that Bangladesh is listed in your allowed selling or shipping countries.\nThe dropdown only appears for countries that have matching data files in the\nplugin's <code>states<\/code> and <code>places<\/code> folders.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20the%20block%20based%20checkout%3F\"><h3>Does this work with the block based Checkout?<\/h3><\/dt>\n<dd><p>The cascading dropdown is built for the classic shortcode checkout. On the\nblock checkout the plugin steps aside and WooCommerce's standard fields are\nused, so nothing breaks.<\/p><\/dd>\n<dt id=\"a%20thana%20in%20my%20area%20is%20missing%20or%20spelled%20differently\"><h3>A thana in my area is missing or spelled differently<\/h3><\/dt>\n<dd><p>Edit <code>places\/bd.php<\/code> and adjust the array for that district. The keys match the\ndistrict codes in <code>states\/bd.php<\/code>. Please also open an issue so the correction\ncan ship for everyone.<\/p><\/dd>\n<dt id=\"will%20this%20change%20my%20existing%20orders%3F\"><h3>Will this change my existing orders?<\/h3><\/dt>\n<dd><p>No. Orders keep whatever address was stored when they were placed. The plugin\nonly changes how the field is displayed from now on.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>64 districts and 620 thanas and upazilas.<\/li>\n<li>Metropolitan thanas included for nine city districts, so customers in Mirpur,\nUttara, Panchlaish or Sonadanga can select their own area.<\/li>\n<li>District codes match those used by WooCommerce core, so shipping zones and\nsaved orders keep working. Five district labels are corrected: the trailing\nspaces on Faridpur and Manikganj are removed, and Nawabganj, Netrakona and\nJhalokati become Chapainawabganj, Netrokona and Jhalakathi.<\/li>\n<li>No value is preselected in either dropdown. The customer is prompted to\nchoose a district, then a thana.<\/li>\n<li>Districts and thanas prefilled by WooCommerce from the shop base address or\nIP geolocation are cleared, while saved customer addresses are preserved.<\/li>\n<li>WooCommerce HPOS and Cart\/Checkout Blocks compatibility declared.<\/li>\n<\/ul>","raw_excerpt":"District and Thana\/Upazila dropdowns for the WooCommerce checkout in Bangladesh. 64 districts, 620 thanas, including metropolitan areas.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/367357","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=367357"}],"author":[{"embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shofiullah"}],"wp:attachment":[{"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=367357"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=367357"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=367357"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=367357"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=367357"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=367357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}