{"id":111271,"date":"2019-10-25T02:56:07","date_gmt":"2019-10-25T02:56:07","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/friendstore-for-woocommerce\/"},"modified":"2026-10-13T15:38:39","modified_gmt":"2026-10-13T15:38:39","slug":"friendstore-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/kea.wordpress.org\/plugins\/friendstore-for-woocommerce\/","author":17620349,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.6.0","stable_tag":"1.6.0","tested":"7.1.3","requires":"6.1","requires_php":"7.4","requires_plugins":null,"header_name":"FriendStore for WooCommerce","header_author":"VietFriend team","header_description":"Is an extension of WooCommerce that support customizing addresses and integrating delivery units (GHN & GHTK) in Vietnam.","assets_banners_color":"f8990e","last_updated":"2026-10-13 15:38:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/code.vietfriend.info\/product\/friendstore-for-woocommerce\/","header_author_uri":"http:\/\/team.vietfriend.info","rating":5,"author_block_rating":0,"active_installs":100,"downloads":8833,"num_ratings":3,"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":"vietfriendteam","date":"2019-10-25 02:55:45","revision":2179748},"1.1.0":{"tag":"1.1.0","author":"vietfriendteam","date":"2019-10-25 04:05:16","revision":2179768},"1.1.1":{"tag":"1.1.1","author":"vietfriendteam","date":"2019-10-25 06:14:01","revision":2179793},"1.1.2":{"tag":"1.1.2","author":"vietfriendteam","date":"2019-10-25 12:48:02","revision":2180083},"1.1.3":{"tag":"1.1.3","author":"vietfriendteam","date":"2019-10-27 04:24:43","revision":2180854},"1.1.4":{"tag":"1.1.4","author":"vietfriendteam","date":"2019-10-28 03:42:53","revision":2181189},"1.1.5":{"tag":"1.1.5","author":"vietfriendteam","date":"2019-10-30 08:06:04","revision":2182840},"1.1.6":{"tag":"1.1.6","author":"vietfriendteam","date":"2019-10-30 16:28:32","revision":2183249},"1.1.7":{"tag":"1.1.7","author":"vietfriendteam","date":"2019-11-01 05:18:04","revision":2184239},"1.1.7.1":{"tag":"1.1.7.1","author":"vietfriendteam","date":"2019-11-01 07:03:09","revision":2184267},"1.1.8":{"tag":"1.1.8","author":"vietfriendteam","date":"2019-11-04 14:58:08","revision":2185636},"1.1.9":{"tag":"1.1.9","author":"vietfriendteam","date":"2019-11-05 16:34:28","revision":2186311},"1.2.0":{"tag":"1.2.0","author":"vietfriendteam","date":"2020-03-22 06:01:26","revision":2265280},"1.3.0":{"tag":"1.3.0","author":"vietfriendteam","date":"2020-07-28 02:35:35","revision":2347499},"1.4.0":{"tag":"1.4.0","author":"vietfriendteam","date":"2020-08-03 16:09:03","revision":2351831},"1.4.1":{"tag":"1.4.1","author":"vietfriendteam","date":"2020-08-04 18:46:45","revision":2352582},"1.4.2":{"tag":"1.4.2","author":"vietfriendteam","date":"2020-08-19 17:25:08","revision":2365141},"1.4.3":{"tag":"1.4.3","author":"vietfriendteam","date":"2025-01-08 01:25:05","revision":3218625},"1.5.0":{"tag":"1.5.0","author":"vietfriendteam","date":"2026-09-20 02:58:42","revision":3703818},"1.6.0":{"tag":"1.6.0","author":"vietfriendteam","date":"2026-10-13 15:38:39","revision":3744339}},"upgrade_notice":{"1.0.0":"<p>please update the settings at admin area &amp; settings tab before operating your website.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":"3"},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2179748,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2179748,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":2179748,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":2179760,"resolution":"772x250","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.7.1","1.1.8","1.1.9","1.2.0","1.3.0","1.4.0","1.4.1","1.4.2","1.4.3","1.5.0","1.6.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2347499,"resolution":"1","location":"assets","locale":"","width":704,"height":380},"screenshot-10.png":{"filename":"screenshot-10.png","revision":2351831,"resolution":"10","location":"assets","locale":"","width":841,"height":908},"screenshot-13.png":{"filename":"screenshot-13.png","revision":2351831,"resolution":"13","location":"assets","locale":"","width":596,"height":327},"screenshot-14.png":{"filename":"screenshot-14.png","revision":2351831,"resolution":"14","location":"assets","locale":"","width":597,"height":312},"screenshot-15.png":{"filename":"screenshot-15.png","revision":2351831,"resolution":"15","location":"assets","locale":"","width":596,"height":398},"screenshot-16.png":{"filename":"screenshot-16.png","revision":2351831,"resolution":"16","location":"assets","locale":"","width":960,"height":700},"screenshot-17.png":{"filename":"screenshot-17.png","revision":2351831,"resolution":"17","location":"assets","locale":"","width":968,"height":492},"screenshot-18.png":{"filename":"screenshot-18.png","revision":2351831,"resolution":"18","location":"assets","locale":"","width":968,"height":492},"screenshot-19.png":{"filename":"screenshot-19.png","revision":2351831,"resolution":"19","location":"assets","locale":"","width":968,"height":492},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2179748,"resolution":"2","location":"assets","locale":"","width":666,"height":499},"screenshot-3.png":{"filename":"screenshot-3.png","revision":2351831,"resolution":"3","location":"assets","locale":"","width":632,"height":398},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2347499,"resolution":"4","location":"assets","locale":"","width":548,"height":656},"screenshot-5.png":{"filename":"screenshot-5.png","revision":2347499,"resolution":"5","location":"assets","locale":"","width":651,"height":681},"screenshot-6.png":{"filename":"screenshot-6.png","revision":2347499,"resolution":"6","location":"assets","locale":"","width":1116,"height":859},"screenshot-7.png":{"filename":"screenshot-7.png","revision":2347499,"resolution":"7","location":"assets","locale":"","width":1129,"height":565},"screenshot-8.png":{"filename":"screenshot-8.png","revision":2347499,"resolution":"8","location":"assets","locale":"","width":1126,"height":634},"screenshot-9.png":{"filename":"screenshot-9.png","revision":2347499,"resolution":"9","location":"assets","locale":"","width":740,"height":720}},"screenshots":{"1":"Notice after setup Plugin","2":"Update Store address (pro)","3":"Update Shipping settings (pro)","4":"Calculate Shipping Cost on Cart page (pro)","5":"Select address from Address Book","6":"Calculate Shipping Cost on Checkout page (pro)","7":"List Shipping addresses in Address Book","8":"Add new\/Edit Shipping address","9":"List shipping address in Profile (wp-admin)"}},"plugin_section":[],"plugin_tags":[3148,236597,3546,39081,286],"plugin_category":[45],"plugin_contributors":[236598],"plugin_business_model":[],"class_list":["post-111271","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-friendstore","plugin_tags-shipping","plugin_tags-vietnam","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-vietfriendteam","plugin_committers-vietfriendteam"],"banners":{"banner":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/banner-772x250.jpg?rev=2179760","banner_2x":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/banner-1544x500.jpg?rev=2179748","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/icon-128x128.png?rev=2179748","icon_2x":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/icon-256x256.png?rev=2179748","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-1.png?rev=2347499","caption":"Notice after setup Plugin"},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-2.png?rev=2179748","caption":"Update Store address (pro)"},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-3.png?rev=2351831","caption":"Update Shipping settings (pro)"},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-4.png?rev=2347499","caption":"Calculate Shipping Cost on Cart page (pro)"},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-5.png?rev=2347499","caption":"Select address from Address Book"},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-6.png?rev=2347499","caption":"Calculate Shipping Cost on Checkout page (pro)"},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-7.png?rev=2347499","caption":"List Shipping addresses in Address Book"},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-8.png?rev=2347499","caption":"Add new\/Edit Shipping address"},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-9.png?rev=2347499","caption":"List shipping address in Profile (wp-admin)"},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-10.png?rev=2351831","caption":""},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-13.png?rev=2351831","caption":""},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-14.png?rev=2351831","caption":""},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-15.png?rev=2351831","caption":""},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-16.png?rev=2351831","caption":""},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-17.png?rev=2351831","caption":""},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-18.png?rev=2351831","caption":""},{"src":"https:\/\/ps.w.org\/friendstore-for-woocommerce\/assets\/screenshot-19.png?rev=2351831","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>MAIN FEATURES<\/strong><\/p>\n\n<p><strong>1. Customize WooCommerce address fields<\/strong>\nCustomize WooCommerce address fields everywhere:\n\u25aa Back-end: Store address\n\u25aa Back-end: Your profile\n\u25aa Back-end: Order details\n\u25aa Front-end: Cart page\n\u25aa Front-end: Checkout page\n\u25aa Front-end: My account &gt; Adresses\n...<\/p>\n\n<p><strong>2. Vietnam's new 2-tier administrative units (merger of 01\/07\/2025)<\/strong>\nBoth address models are supported side by side: the old 3-tier one (Province \/ District \/ Ward) and the new 2-tier one (Province \/ Ward, 34 provinces). Already-saved addresses always keep the units they were entered with \u2014 the setting only governs how new addresses are entered.\n\u25aa Switch new addresses to the 2-tier units (add to your theme's functions.php):<\/p>\n\n<pre>add_filter('fsw_use_v2025_address', '__return_true');<\/pre>\n\n<p>\u25aa (Pro) Or simply pick the model on FriendStore \u2192 Addons Settings \u2192 \"Administrative units\"\n\u25aa Saved old addresses convert automatically when a form opens: the province follows the official 63 \u2192 34 merger exactly, and the ward is pre-picked when its name (or its old district's name) carried over \u2014 checkout, My account and the store address all prefill this way, and nothing is rewritten until the form is saved\n\u25aa Admin screens keep both catalogues side by side (old provinces marked \"(c\u0169)\"), so existing orders and customer profiles keep displaying exactly what was entered\n\u25aa (Pro) ViettelPost quotes the new units live; a delivery unit that cannot quote them through its API yet stays choosable at checkout as \"Calculate fee later\"<\/p>\n\n<p><strong>3. Add new order statuses<\/strong>\n\u25aa Shipping (wc-shipping)\n\u25aa Shipped (wc-shipped)<\/p>\n\n<p><strong>4. Address book (like tiki, sendo, lazada, shopee...)<\/strong>\n\u25aa Disable address book:<\/p>\n\n<pre>add_filter('fsw_user_addresses_enabled', '__return_false');<\/pre>\n\n<p><strong>5. Calculate shipping fee on product detail (like tiki, sendo, lazada, shopee...)<\/strong>\n\u25aa Disable calculate shipping:<\/p>\n\n<pre>add_filter('fsw_product_shipping_calculator_enabled', '__return_false');<\/pre>\n\n<p>\u25aa Turn off auto calculate shipping:<\/p>\n\n<pre>add_filter('fsw_product_shipping_calculator_auto', '__return_false');<\/pre>\n\n<p><strong>6. Freeship coupons<\/strong>\nTwo coupon types that discount the shipping fee instead of the cart items:\n\u25aa \"Shipping discount\" \u2014 a fixed amount off each rate (empty\/0 = completely free)\n\u25aa \"Shipping discount (%)\" \u2014 a percentage off, with an optional \"Max discount\" cap\n\u25aa The cart\/checkout shows the original fee struck through next to the price to pay, and the coupon row shows the real shipping discount\n\u25aa Acts on every paid shipping method; (Pro) acts on the delivery units' live rates instead, zone methods keep their price<\/p>\n\n<p><strong>7. Integrating with delivery units (Pro)<\/strong>\n\u25aa Giao h\u00e0ng nhanh (GHN express): live rates + delivery time estimate, create order, tracking, cancel\n\u25aa Giao h\u00e0ng ti\u1ebft ki\u1ec7m (GHTK express): live rates (fly\/road), create order, tracking, cancel\n\u25aa Viettel Post: shipping rates \u2014 including the new 2-tier units\n\u25aa Enable\/disable each unit on its own card (Delivery Units tab)<\/p>\n\n<p><strong>8. Stores \u2014 sender locations (Pro)<\/strong>\n\u25aa Manage pickup\/sender branches and pick a default store for quotes &amp; waybills\n\u25aa Link\/sync a store with the carrier's shop list (GHN, GHTK)\n\u25aa Shortcodes: stores map [fsw_store_maps] and store details [fsw_store_details]<\/p>\n\n<p><strong>9. Waybill management (Pro)<\/strong>\nManage shipments as first-class records on their own \"Waybills\" admin page:\n\u25aa Create waybills from an order (one click from the order screen) or standalone\n\u25aa Draft \u2192 send to carrier \u2192 automatic status tracking (GHN, GHTK, every 30 minutes)\n\u25aa Cancel at the carrier and resubmit with another delivery unit\n\u25aa Self-delivery and WooCommerce Shipping as manual delivery choices\n\u25aa Printable shipping labels (A5 \/ A6 \/ 10\u00d715) with barcode + QR, designed in the Customizer\n\u25aa Recipient changes on a waybill sync back to the order, with an order note\n\u25aa Optional: the order moves to Shipping \/ Shipped along with its waybill\n\u25aa Public tracking shortcode for customers: [fsw_tracking unit=\"ghn|ghtk|spx\"]<\/p>\n\n<p><strong>EXTENSION DEVELOPMENT PLAN<\/strong><\/p>\n\n<p>\u25aa Carrier fee quoting &amp; waybills for the new 2-tier units (as soon as the carriers' APIs support them)\n\u25aa Waybill CSV import\/export<\/p>\n\n<p><strong>USEFUL LINKS:<\/strong><\/p>\n\n<p>\u25aa Website (Pro version): <a href=\"https:\/\/store.vietfriend.info\/?utm_source=wporg&amp;utm_medium=cpc&amp;utm_campaign=friendstore_plugin&amp;utm_content=wporg_demo\">\/\/store.vietfriend.info<\/a> <em>(Account: demo\/123456)<\/em>\n\u25aa Product information: <a href=\"https:\/\/code.vietfriend.info\/product\/friendstore-for-woocommerce-pro\/?utm_source=wporg&amp;utm_medium=cpc&amp;utm_campaign=friendstore_plugin&amp;utm_content=wporg_product\">\/\/code.vietfriend.info\/product\/friendstore-for-woocommerce-pro\/<\/a><\/p>\n\n<h3>Translations included<\/h3>\n\n<p>\u25aa English (US) (English (US))\n\u25aa Ti\u1ebfng Vi\u1ec7t (Vietnamese)<\/p>\n\n<!--section=installation-->\n<p><strong>Minimum Requirements<\/strong><\/p>\n\n<ul>\n<li>WordPress 4.4 or greater<\/li>\n<li>WooCommerce 3.0 or greater<\/li>\n<li>PHP version 5.4 or greater<\/li>\n<li>MySQL version 5.0 or greater<\/li>\n<\/ul>\n\n<p><strong>Uploading in Plugin Dashboard<\/strong><\/p>\n\n<p><em>Step 1:<\/em> Download <strong>FriendStore for WooCommerce<\/strong><\/p>\n\n<p><em>Step 2:<\/em> Navigate to the <strong>Dashboard -&gt; Plugins -&gt; Add New<\/strong>, and then click <strong>Upload Plugin<\/strong>.<\/p>\n\n<p><em>Step 3:<\/em> Click <strong>Install Now<\/strong> and activate the plugin in the <strong>Plugin dashboard<\/strong><\/p>\n\n<p><strong>Installing in Plugin Dashboard<\/strong><\/p>\n\n<p><em>Step 1:<\/em> Navigate to the <strong>Dashboard -&gt; Plugins -&gt; Add New<\/strong>.<\/p>\n\n<p><em>Step 2:<\/em> In the search bar type <strong>FriendStore for WooCommerce<\/strong><\/p>\n\n<p><em>Step 3:<\/em> Select this plugin and click on <strong>Install Now<\/strong><\/p>\n\n<p><strong>Using FTP<\/strong><\/p>\n\n<p><em>Step 1:<\/em> Download <strong>FriendStore for WooCommerce<\/strong>.<\/p>\n\n<p><em>Step 2:<\/em> Extract the plugin code to your computer<\/p>\n\n<p><em>Step 3:<\/em> Upload <strong><code>friendStore-for-woocommerce<\/code><\/strong> folder to your WordPress plugins directory <strong><code>\/wp-content\/plugins\/<\/code><\/strong><\/p>\n\n<p><em>Step 4:<\/em> Activate the plugin in the <strong>Plugin dashboard<\/strong><\/p>\n\n<p>The WordPress codex contains <a href=\"https:\/\/codex.wordpress.org\/Managing_Plugins#Manual_Plugin_Installation\">instructions on how to do this here<\/a>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20plugin%20compatible%20with%20the%20latest%20version%20of%20wordpress%20and%20woocommerce%3F\"><h3>Is this plugin compatible with the latest version of Wordpress and WooCommerce?<\/h3><\/dt>\n<dd><p>Of course, it is. We are always tried to make regular update so that the plugin can be compatible with the latest version of Wordpress and WooCommerce.<\/p><\/dd>\n<dt id=\"can%20it%20work%20well%20with%20other%20wordpress%20theme%3F\"><h3>Can it work well with other Wordpress theme?<\/h3><\/dt>\n<dd><p>Yes, it can. This plugin can be used with any Wordpress themes.<\/p><\/dd>\n<dt id=\"what%20is%20the%20number%20format%20and%20currency%20of%20vietnamese%3F\"><h3>What is the number format and currency of Vietnamese?<\/h3><\/dt>\n<dd><p>In Vietnam, the currency is Vietnamese \u0111\u1ed3ng (\u20ab), the thousand separator is dot (.), the decimal separator is comma (,), the number of decimals should be 0.<\/p><\/dd>\n<dt id=\"how%20do%20i%20switch%20to%20the%20new%202-tier%20administrative%20units%20%28after%20the%2001%2F07%2F2025%20merger%29%3F\"><h3>How do I switch to the new 2-tier administrative units (after the 01\/07\/2025 merger)?<\/h3><\/dt>\n<dd><p>Add one line to your theme's functions.php:<\/p>\n\n<pre>add_filter('fsw_use_v2025_address', '__return_true');<\/pre>\n\n<p>New addresses are then entered as Province \/ Ward (34 provinces, no district). Addresses saved before keep showing the old units they were entered with \u2014 nothing breaks. When a saved old address is opened in a form (checkout, My account, the store address), it prefills converted: the province follows the official 63 \u2192 34 merger, the ward is pre-picked when its name carried over and left for you to choose when it did not \u2014 nothing is rewritten until you save. In the Pro version you can simply pick the model on FriendStore \u2192 Addons Settings \u2192 \"Administrative units\".<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.6.0 - 2026-10-13<\/h4>\n\n<ul>\n<li>Add: Freeship coupons \u2014 two coupon types, \"Shipping discount\" (a fixed amount off each rate, empty\/0 = completely free) and \"Shipping discount (%)\" with an optional \"Max discount\" cap, that lower the shipping fee instead of the cart items. The cart shows the original fee struck through next to the price to pay and the coupon row shows the real shipping discount. Acts on every paid shipping method; the Pro version acts on the delivery units' live rates instead<\/li>\n<li>Add: Vietnam's new 2-tier administrative units (merger of 01\/07\/2025) beside the old 3-tier model \u2014 34 provinces with their wards directly under them. The ward takes the City slot and \"Address line 2\" returns to a plain optional line; already-saved addresses always keep the units they were entered with. Switch new input with add_filter('fsw_use_v2025_address', '__return_true') in functions.php<\/li>\n<li>Add: Saved old addresses convert automatically when a form opens \u2014 the province follows the official 63 \u2192 34 merger exactly and the ward is pre-picked when its name (or its old district's name) carried over. Checkout, My Account, both shipping calculators and the Store Address all prefill this way; nothing is rewritten until the form is saved<\/li>\n<li>Add: Admin screens keep both catalogues side by side (old provinces marked \"(c\u0169)\"), so existing orders and customer profiles keep displaying exactly what was entered<\/li>\n<li>Updated: The Vietnamese place-name catalogues are parsed once per request and cached \u2014 an id-to-name conversion dropped from ~66ms to ~0ms, and the admin orders list no longer re-reads the 11,000-ward file for every address<\/li>\n<li>Updated: District renames caught up with reality: Ph\u00fa Qu\u1ed1c island city, H\u00e0 Ti\u00ean city, T\u00e2n Ch\u00e2u town<\/li>\n<li>Fix: Dismissing an admin notice passed the wrong argument and never stuck<\/li>\n<li>Fix: The address formatter read its arguments before applying their defaults<\/li>\n<li>Updated: Internal \u2014 the plugin's own scripts and stylesheets now carry the fsw- prefix, stylesheet sources are split into shared partials, and the Vietnamese translation catalogue grew by the full new-unit list<\/li>\n<\/ul>\n\n<h4>1.5.0 - 2026-09-20<\/h4>\n\n<ul>\n<li>Add: Addresses outside Vietnam. Checkout, My Account, the address book, the cart and product shipping calculators, the order edit screen and the user profile show WooCommerce's own fields for any other country, and saved addresses keep WooCommerce's format; Vietnam keeps the Province \/ District \/ Ward selects and a single \"Full Name\" field. The form switches as soon as the customer changes country<\/li>\n<li>Add: The country field is shown whenever the shop sells or ships to more than one country<\/li>\n<li>Updated: Vietnam is set as the shop's base country once, when the plugin is activated, instead of on every admin page load<\/li>\n<li>Updated: Requires WordPress 5.9, PHP 7.4 and WooCommerce 7.8 or newer<\/li>\n<li>Updated: Tested with WordPress 7.1.1 and WooCommerce 11.1.1; the cart shipping calculator template follows WooCommerce 9.7, which shows the field labels<\/li>\n<li>Refactor: Same code base as FriendStore for WooCommerce Pro, security hardening (nonce and permission checks, sanitised input, escaped output, no direct access to plugin files) and support for WooCommerce High-Performance Order Storage (HPOS)<\/li>\n<li>Fix: PHP notice at checkout for a visitor whose session holds no customer yet<\/li>\n<li>Fix: The cart shipping calculator lost the district and ward when opened<\/li>\n<li>Fix: Returning customers saw their old billing address at checkout after using a shipping calculator<\/li>\n<\/ul>\n\n<h4>1.4.3 - 2025-01-05<\/h4>\n\n<ul>\n<li>Updated: Compatible Wordpress v6.7.1<\/li>\n<li>Updated: Compatible WooCommerce v9.5.1<\/li>\n<li>Updated: new ward\/province data<\/li>\n<\/ul>\n\n<h4>1.4.2 - 2020-08-19<\/h4>\n\n<ul>\n<li>Updated: Add filter config <code>fsw_user_addresses_enabled<\/code><\/li>\n<li>Updated: Add filter config <code>fsw_product_shipping_calculator_enabled<\/code><\/li>\n<li>Updated: Add filter config <code>fsw_product_shipping_calculator_auto<\/code><\/li>\n<li>Fixed: Fix bugs<\/li>\n<\/ul>\n\n<h4>1.4.1 - 2020-08-04<\/h4>\n\n<ul>\n<li>Fixed: Product Shipping Calculator error in Simple, Grouped, Virtual &amp; External product<\/li>\n<\/ul>\n\n<h4>1.4.0 - 2020-08-03<\/h4>\n\n<ul>\n<li>Updated: Add Product Shipping Calculator (References from Magerips plugin)<\/li>\n<\/ul>\n\n<h4>1.3.0 - 2020-07-28<\/h4>\n\n<ul>\n<li>Updated: Add Customer Address Book (References from WooCommerce plugin)<\/li>\n<\/ul>\n\n<h4>1.2.1 - 2020-07-09<\/h4>\n\n<ul>\n<li>Fixed: Fix error when activate pro version<\/li>\n<\/ul>\n\n<h4>1.2.0 - 2020-03-22<\/h4>\n\n<ul>\n<li>Update: Ajax new version - Select address faster than before<\/li>\n<\/ul>\n\n<h4>1.1.9 - 2019-11-05<\/h4>\n\n<ul>\n<li>Update: Update notice after setup (thank fb:tuongbhn)<\/li>\n<li>Fixed: Fix select2 district, ward when city selected in Rey (Marius H.) theme (thank fb:tuongbhn)<\/li>\n<\/ul>\n\n<h4>1.1.8 - 2019-11-04<\/h4>\n\n<ul>\n<li>Update: Separate the Lite and Pro versions<\/li>\n<li>Fixed: Check language Vietnamese with WordPress versions 4.9.12 and earlier<\/li>\n<\/ul>\n\n<h4>1.1.7.1 - 2019-11-01<\/h4>\n\n<ul>\n<li>Fixed: Copy address of user in Order details (when add new, select customer)<\/li>\n<\/ul>\n\n<h4>1.1.7 - 2019-11-01<\/h4>\n\n<ul>\n<li>Update: Copy address of user in Order details<\/li>\n<\/ul>\n\n<h4>1.1.6 - 2019-10-30<\/h4>\n\n<ul>\n<li>Update: Copy billing address in Order details<\/li>\n<li>Fixed: Fix copy address when edit User (thanks fb:BloggerNguyenPhatLoc)<\/li>\n<\/ul>\n\n<h4>1.1.5 - 2019-10-29<\/h4>\n\n<ul>\n<li>Updated: Escape all string in internationalization functions<\/li>\n<li>Fixed: Fix copy address in Your Profile (thanks fb:BloggerNguyenPhatLoc)<\/li>\n<\/ul>\n\n<h4>1.1.4 - 2019-10-28<\/h4>\n\n<ul>\n<li>Fixed: Update CSS fix select2 in WooCart theme<\/li>\n<li>Fixed: Fix text placeholder Select Province\/City (thanks fb:neoxone47)<\/li>\n<\/ul>\n\n<h4>1.1.3 - 2019-10-27<\/h4>\n\n<ul>\n<li>Fixed: Remove link setting in Plugin Dashboard (thanks @truongduy)<\/li>\n<li>Fixed: Format PHP code (Easy to compare with Pro version)<\/li>\n<\/ul>\n\n<h4>1.1.2 - 2019-10-25<\/h4>\n\n<ul>\n<li>Fixed: Change Text Domain<\/li>\n<\/ul>\n\n<h4>1.1.1 - 2019-10-25<\/h4>\n\n<ul>\n<li>Fixed: Select2 in cart<\/li>\n<li>Fixed: Select2 in addresses my account<\/li>\n<\/ul>\n\n<h4>1.1.0 - 2019-10-25<\/h4>\n\n<ul>\n<li>Updated: Store Address in General Options<\/li>\n<\/ul>\n\n<h4>1.0.0 - 2019-10-24<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Is an extension of WooCommerce that support customizing addresses in Vietnam.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/111271","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=111271"}],"author":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vietfriendteam"}],"wp:attachment":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=111271"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=111271"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=111271"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=111271"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=111271"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=111271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}