Skip to main content
Unwan replaces WooCommerce’s plain Addresses item in My Account with Address book — one endpoint, no billing/shipping tabs to choose between.

Layout

1

Two default summary cards

“Bills to” and “Ships to” cards show the current billing and shipping defaults (or an empty state with an Add action if a role has no default yet), each with a Change link straight into the editor.
2

One combined list

Every entry in the customer’s address book — both defaults and every additional address — in a single list, defaults first, then most-recently-updated. Each row shows the street line, recipient name, location, and phone (if set), plus badges for any default role it holds.
3

Search, once it's worth it

A filter input appears automatically once the saved-address count passes the configured threshold — the same control and threshold used at checkout.

Row actions

Each address has a keyboard-accessible three-dot action menu: These aren’t just UI-level restrictions: the same rules are enforced server-side, so a disabled action can’t be triggered by a crafted request either.

Adding and editing

The listing and editor views are mutually exclusive — opening the editor (via Add new address or any row’s Edit action) replaces the list entirely with just the form and a Back to addresses link, rather than showing both at once. The editor form is WooCommerce’s own locale-aware address field set (via WC()->countries->get_address_fields()), limited to the fields Unwan saves, plus two checkboxes: Default shipping address and Default billing address. Leaving both unchecked keeps the entry as a plain, role-free additional address available everywhere at checkout. Fields other plugins add to WooCommerce’s address forms aren’t shown here, because the address book doesn’t store them — see Custom checkout fields. Saving changes only what the customer edited: a field the form doesn’t show (for example one a field editor removed) keeps its stored value. When the billing and shipping defaults share a name and street, they appear as one entry with both roles, but each summary card shows its own details. Editing that entry applies the customer’s changes to both defaults and leaves anything that differs between them, such as an apartment number, as it was.
If a save fails validation (a required field is empty, or the phone number doesn’t look valid), Unwan redirects back to the same editor with the customer’s entered values intact — nothing is lost, and nothing needs to be retyped from scratch.

Security

Every action — save, delete, make default — is a POST request, protected by a dedicated nonce (check_admin_referer() per action), scoped to the currently signed-in customer’s own address book, validated, and sanitized before anything is written. There is no code path that lets one customer read or modify another customer’s addresses.

Personal data

Saved additional addresses are included in WordPress’s Tools → Export Personal Data and Erase Personal Data (listed as “Address book”). The billing and shipping defaults are WooCommerce customer data, covered by WooCommerce’s own exporter and eraser.
Last modified on October 5, 2026