public
Last active

WordPress Function: Every time a user updates his/her profile an email is sent to the site administrator.

  • Download Gist
gistfile1.aw
PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
<?php
/**
* Updated User Profile Notification
*
* Every time a user updates his/her profile an email is sent
* to the site administrator.
*
* @author Nate Jacobs
* @link https://gist.github.com/1286583
*/
 
add_action( 'profile_update', 'ngtj_updated_user_profile_notify', 10, 2 );
function ngtj_updated_user_profile_notify( $user_id, $old_user_data )
{
// get the user data into an object
$user = get_userdata( $user_id );
// get the site administrator's email address
$admin_email = get_option( 'admin_email' );
// the email body
$message = sprintf( __( 'This user has updated their profile on your site: %s' ), get_option('blogname') ) . "\r\n\r\n";
$message .= sprintf( __( 'Display Name: %s' ), $user->display_name ). "\r\n\r\n";
$message .= sprintf( __( 'Username: %s' ), $user->user_login ). "\r\n\r\n";
$message .= sprintf( __( 'Old Email: %s' ), $old_user_data->user_email ). "\r\n\r\n";
$message .= sprintf( __( 'Email: %s' ), $user->user_email );
// send the email
wp_mail( $admin_email, sprintf( __( '[%s] User Updated a Profile' ), get_option('blogname') ), $message );
}
?>

Thanks Nate. Worked great for my Wordpress site http://desktopanywhere.com and I use it in conjunction with the New Fields I added via:

http://justintadlock.com/archives/2009/09/10/adding-and-using-custom-user-profile-fields

Add to that the amr users plugin and with your code above, just adding a line for each new field via $message, really made managing my site so much better.

Excellent work and thanks again,

Jeff

Your welcome Jeff. Glad it helped you out.

Can you please tell me how to use this?

I'm looking for something like this, but this only say that somebody change the profile, but don't say whats fields changes. Can anybody help me?

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.