add_action( 'woocommerce_after_save_address_validation',
function( $user_id, $address_type, $address ) {
$to = get_bloginfo( 'admin_email' );
$subject = 'Address saved notification';
$headers = [ 'Content-Type: text/html; charset=UTF-8' ];
$user = get_user_by( 'id', $user_id );
$body = sprintf(
'
<h1>Automated address change notification</h1>
<p>User: %s (ID %d)</p>
<p>Old address (%s):</p>
<p>%s</p>
<p>New address:</p>
<p>%s</p>
',
$user->user_login,
$user_id,
$address_type,
wc_get_account_formatted_address( $address_type, $user_id ),
sprintf(
'Name: %s %s<br>Company: %s<br>Address: %s %s<br>%s %s %s %s<br>Email: %s<br>Phone: %s',
esc_attr( $_POST[ $address_type . '_first_name'] ),
esc_attr( $_POST[ $address_type . '_last_name'] ),
esc_attr( $_POST[ $address_type . '_company'] ),
esc_attr( $_POST[ $address_type . '_address_1'] ),
esc_attr( $_POST[ $address_type . '_address_2'] ),
esc_attr( $_POST[ $address_type . '_city'] ),
esc_attr( $_POST[ $address_type . '_state'] ),
esc_attr( $_POST[ $address_type . '_postcode'] ),
esc_attr( $_POST[ $address_type . '_country'] ),
esc_attr( $_POST[ $address_type . '_email'] ),
esc_attr( $_POST[ $address_type . '_phone'] ),
)
);
wp_mail( $to, $subject, $body, $headers );
}, 10, 3 );
Notify site admin of My Account address save
Notifies the site administrator email of My Account address save.
How to use
PHP Code Snippets
- Log into a staging, development, or locally hosted clone of your site
- Install and activate Code Snippets
- WP Admin > Snippets > Add New
- Copy and paste the code from the Description tab above
- Check to ensure formatting came over properly and no syntax errors show up in the editor
- Customize the code as desired
- Add a meaningful title
- Select whether to run on front-end or back-end (or both)
- Click “Save and Activate”
- Test your site to ensure it works
- Disable if any problems, or recover
- Repeat for live environment
License
All code snippets are licensed GPLv2 (or later) matching WordPress licensing.
Disclaimer of warranty:
Except when otherwise stated in writing the copyright holders and/or other parties provide the program as-is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
Support
- Describe the issue and what you’ve observed.
- Describe your expected outcome(s).
- List steps to reproduce the issue.
- Optionally provide screen-shot or video URLs.
