4

Is there a way to send the updated/added values from profile, when a member/user updates his/hers data, to the admin of the site or another emailadress?

Can this be the first step?

/* do something when user edits profile */
add_action('personal_options_update', 'notify_admin_on_update');
function notify_admin_on_update(){
  // send a mail with the updated values to admin@mysite.com
  exit;
}

What is best pracice to send emails from within WordPress?

11

you got the first part right about using personal_options_update but to be on the safe side add edit_user_profile_update also. and as for sending emails within WordPress the best way would be to use wp_mail, So something like this:

add_action( 'personal_options_update', 'notify_admin_on_update' );
add_action( 'edit_user_profile_update','notify_admin_on_update');
function notify_admin_on_update(){
    global $current_user;
    get_currentuserinfo();

    if (!current_user_can( 'administrator' )){// avoid sending emails when admin is updating user profiles
        $to = 'admin@email.com';
        $subject = 'user updated profile';
        $message = "the user : " .$current_user->display_name . " has updated his profile with:\n";
        foreach($_POST as $key => $value){
            $message .= $key . ": ". $value ."\n";
        }
        wp_mail( $to, $subject, $message);
    }
}
8
  • Your if statement will assign 1 as the current user id, thus making anybody who updates a profile temporarily an administrator. Instead of using user id numbers, it makes more senese to check for permsissions: if( !current_user_can( 'administrator' ) ) Mar 16 '11 at 14:19
  • Thanks, Bainternet and John P Bloch! I used: if ($current_user->ID != 1){
    – Fredag
    Mar 16 '11 at 15:43
  • I have a second question to this issue:
    – Fredag
    Jun 16 '11 at 9:02
  • I have a second question to this issue: The above suggestions works well but I want to only show/email the data that was updated, not all of the users data. And is it possible to email the data when a specific field has been updated.
    – Fredag
    Jun 16 '11 at 9:09
  • that going to be hard since you don't have a compression point for what the data was before the update, but you can.
    – Bainternet
    Jun 16 '11 at 10:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.