当用户/成员更改/添加配置文件时向管理员发送自动邮件

时间:2011-03-16 作者:Fredag

当成员/用户更新其数据时,是否有方法将个人资料中的更新/添加值发送给网站管理员或其他电子邮件地址?

这是第一步吗?

/* 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 [email protected]
  exit;
}
从WordPress内部发送电子邮件的最佳做法是什么?

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

关于使用personal_options_update 但为了安全起见,添加edit_user_profile_update 而且至于在WordPress中发送电子邮件,最好的方法是使用wp_mail, 比如:

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 = \'[email protected]\';
        $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);
    }
}

结束