Helping Organisations get organised!

LH Addresses

LH Addresses stores postal addresses for users as structured, international data, once for the whole network, and shares them with the organisations those users belong to. On a multisite network each site is an organisation; a member’s address is theirs, and an organisation sees only the addresses that member has given it.

Why

Addresses kept as loose user meta fields have no shape: no country awareness, states typed as Vic, VIC or Victoria, one address per person, and every consumer (vCards, reports, exports) mapping fields by hand. LH Addresses gives each address a standard structure that converts cleanly to vCard ADR and schema.org PostalAddress, so the data stays portable.

Features

  • Address fields follow the Unicode CLDR model used by commerceguys/addressing, with per-country validation and subdivision codes (Victoria and Vic become VIC).
  • Several addresses per user, each used as one or more types: residential, postal, delivery, billing or work.
  • Per-organisation uses: a member gives an address to a site as a type, and that site sees it while they remain a member. Leaving removes the site’s access.
  • Validation never refuses a save: incomplete or invalid addresses are flagged for later clean-up, so imports always land.
  • Optional geocoding through a pluggable geocoder (LH Places), queued and throttled, with a spatial index for near-point searches.
  • WordPress personal data export and erasure, and cascade deletion when a user is deleted.

Setup

Network-activate the plugin and run composer install in its folder to fetch commerceguys/addressing; without it, addresses are stored but not validated or mapped. Organisation access needs a plugin that answers the lh_addresses_site_can_read filter (LH Membership), and geocoding needs one that answers lh_places_geocode (LH Places). LH Addresses has no admin screens of its own: other plugins use its API.

If you like this plugin please consider making a donation to further development