Gives your customers the option to store multiple billing and shipping addresses and retrieve them on checkout. Addresses can be updated and modified quickly and easily in /my-account/, or saved as part of the checkout process.
There is a demo setup if you would like to try this plugin out with a demo store.
The settings for this plugin are located in WooCommerce General settings: WooCommerce -> Settings -> General.
WooCommerce Address Book options:
- Enable billing/shipping address book
- Add New Address as default selection
- Enable setting Billing/Shipping Address Nickname during Checkout
- Upload the
woo-address-bookfolder to the
- Make sure you have WooCommerce installed and enabled.
- Activate the WooCommerce Address Book through the ‘Plugins’ menu in WordPress.
- Address Book options will now appear on the customer’s account page and checkout once they’ve entered their primary billing or shipping address.
Why can’t I add a new address to my address book?
The address book will only begin to display after the primary billing or shipping address has been created for the customer.
Will this plugin allow my customers to ship to multiple locations with a single order?
No, this plugin only allows for the storage of multiple shipping addresses. If a customer would like to ship to multiple locations, they should complete multiple orders.
Why is the address not populating my custom fields at checkout?
How can I add custom fields to my billing/shipping address?
WooCommerce Address Book uses the standard WooCommerce address functions so any method to modify the address fields will still work.
We have tested that using the standard filters works correctly:
We have also tested this plugin by WooCommerce:
How do I translate this plugin?
We now use the new way of translating WordPress plugins at https://translate.wordpress.org/
Feel free to contribute a translation at https://translate.wordpress.org/projects/wp-plugins/woo-address-book/
How do I get my translation approved?
Someone needs to apply to be a translation editor for this plugin. If you have contributed a translation, you may apply to be the editor yourself.
You can make the request and that request can be approved by the WordPress Localization editors.
See here for more details: https://make.wordpress.org/polyglots/handbook/rosetta/roles-and-capabilities/pte-request/#pte-request-by-a-translator
How can I use my translation before it is approved?
What you can do to use it locally right now is go to the translate page.
At the bottom by the Export link, select “Only matching the filter” and “Machine Object Message Catalog (.mo)” and then click Export to download the
Then save this .mo file to your WordPress site at
LANGUAGEwith your language code.
For example for German, you would go here:
Then save this .mo file to your WordPress site at
You may also use PoEdit and create a translation file which can be exported as a
.mofile to be saved in the same location.
Contributors & Developers
“WooCommerce Address Book” is open source software. The following people have contributed to this plugin.Contributors
2.6.1 and 2.6.2
- Detect and downgrade from Address Book 3.0 addresses if they exist.
- Add notice about 3.0.0
- Warning: 3.x+ will be a breaking change if you have customizations for the plugin.
- Declare HPOS compatibility.
- Feature: Add option to use radio button instead of dropdown select.
- Tweak: Update change detection on Address Book selector so the listeners still work even if the elements are reloaded on the page.
- New: Setting to block readonly fields from updating when changing addresses. They will be updatable by default.
- New: New feature to set a limit for number of saved addresses in the admin settings.
- Update: When “Enable the shipping calculator on the cart page” is not checked in the admin then the City/State/Zip fields will not be pre-populated on Add New Address.
- Fix: When using WooCommerce Subscriptions, preserve existing address when doing a manual payment on the subscription.
- Cleanup: Improve the checking for the address from the cart to prevent some issues with it not being loaded.
- Fix: Address saving to customer Address Book if Billing or Shipping Address Book was disabled. #128
- Fix: “Enable setting Billing Address Nickname during Checkout” setting not working properly #121
- Require jquery-blockui for the script to fix loading order.
wc_address_book_show_shipping_address_buttonso you can programmatically disable the add new address buttons.
2.0.2 and 2.0.3
- Improve compatibility with Conditional Checkout Fields for WooCommerce
- Fix select address issue when ‘Add New Address as default selection’ is enabled for shipping address.
- Improve backwards compatibility with versions prior to 2.0.0
- Better support custom field types other than standard input field.
- This is version 2.0.0 which is a major update with new functionality, be sure to review the changes below.
- Billing and Shipping address support. This release adds support for Billing addresses in addition to Shipping addresses.
- New settings to be able to Enable or Disable the address book for billing or shipping. Thanks Hinyka
- Make sure to set these settings for your store after updating. Both are enabled by default.
- Adds settings to set if new address should be selected or primary address on checkout.
- Adds setting if the address nickname field should show on checkout.
- Fix checkbox to change address that didn’t work from showing with WooCommerce Subscriptions plugin.
- Adds confirmation when deleting an address from the address book.
- Support for PHP 8 and jQuery 3. Thanks Hinyka
- Various other fixes, see #97 for details.
- Update Country strings that were changed in WooCommerce 4.0
- Update to support the latest versions of WooCommerce 3.x and 4.0.0 with Customer CRUD functions.
- Fix regression which caused an error when creating a new user during checkout.
- Fix regression from security update in 1.6.0 which broke saving new addresses on checkout.
- Code cleanup.
- Fixed if you had selectize.js installed on the site but still using selectWoo for checkout. You must now manually apply selectize to the Address Book selector if you wish to use selectize on checkout.
- Fixed issue with selectWoo not loadingon checkout if “Ship to a different address?” was not enabled by default. Thanks titodevera – #62
- Add support for selectize.js if used over selectWoo for your select boxes.
- Added support for address nicknames. Thanks titodevera – #60 #59
- Security: Updated all save calls to do nonce verification checks.
- Update endpoint url generation to prevent the query parameter from being filtered out. Fixes conflict with WPML plugin.
- Stop enqueuing the plugin styles and scripts on every page. Only enqueue them when needed. Thanks titodevera – #58 #59
- Fix changing country if the field is set to Read Only. Do not change any fields that are set to Read Only.
- Fix missing close div in address book form. Thanks ThomasK0lasa – #54
- Use a minified version of scripts.js
- Improve address saving for determining what address name to use next.
- Fix first address creation on checkout from being set to shipping2 #55
- Don’t show address picker for new users that don’t have addreses yet.
- Update country field with updates from WooCommerce 3.6.x. Fixes inconsistencies with updated stock version.
- Support SelectWoo in addition to select2 for checkout address book selector
- Update address book links so they don’t have a trailing slash on them.
- Fix address saving for new addresses in the address book for WooCommerce 3.6.x due to a change in the save address process.
- Fix handling of empty address books. No longer populate address books of all users on activate since we handle empty books now.
- Fix issue saving more than 10 addresses to the addresse book. Thanks @JonBoss5
- Limit get_users to just returning IDs. Significantly decreases the amount of memory needed on activation on a site with many users. (thanks pjv)
- PHP and JS formatting cleanup
- Trim any trailing slashes when getting the address name from the URL
- Do not display the address book dropdown on checkout if a default shipping address has not been set.
- Various bug fixes.
wc_address_book_addressesfilter to allow for modification of Address Book addresses.
- JS improvments of address book dropdown on Checkout. Thanks to ebelrose for their contributions!
- Added languages folder with .pot file for i18n.
address_select_label()in case fields have been removed.
- Updated the filter wc_address_book_address_select_label to add $address and $name, which should open a lot of options for modifying the output.
- Cleaned up the codebase to align with WordPress-Coding-Standards.
- Added text domain and updated AJAX’s scope on my-account. Thanks to pabl0rg and nicolasmn for their contributions!
- Fixed a bug to properly reset the state value when selecting ‘new address’.
- Fixed a bug which prevents shipping country field from clearing if only one country is a checkout option.
- Add multisite support.
- Fixed a bug which prevented address from saving.
- Clear checkout fields when adding a new address.
- Changed Address Book to using $_GET vars to allow for custom fields to be saved.
- Initial Release.