ちょうどこれからマルチサイトを運営する予定なのでやっつけですが簡単なのを書いてみました。
functions.phpに記述して使います。
//プロフィールのアップデートが行われたら管理者にメール送信
function profile_update_notice() {
global $current_user;
get_currentuserinfo();
$update_user_id = $current_user->ID;
$update_user_name = $current_user->user_login;
$date = date('Y-m-d H:i:s');
$send_to = get_option('admin_email');
$subject = '【プロフィール更新通知】ユーザー名:'.$update_user_name;
$message = <<< eof
以下のユーザーのプロフィールが更新されました。
-----
ユーザー名:{$update_user_name}
ユーザーID:{$update_user_id}
更新日時:{$date}
-----
eof;
wp_mail( $send_to, $subject, $message);
}
add_action('profile_update', 'profile_update_notice');
サーバーの時刻設定が日本標準時になっていないとdate関数で取得する時間がズレるので、その場合は date_default_timezone_set(‘Asia/Tokyo’); などで時間を合わせる必要があります。
実際に使う場合にはユーザー権限の確認とかもした方が良いかもしれません。
あと、特に共用のレンタルサーバなどの場合はメールが頻繁に飛ぶようだとメールサーバに負荷がかかるので小規模な環境から試した方が良いと思います。
書いた後に検索したら以下のサイトにも同じようなコードが載っていたので参考に。
参考:Send email notification when profile updates
t.okuboさん
まんまテストしたら成功しました!!
本当にありがとうございます。
小規模ではありますが、「変更したら連絡してね」ってルールもなんだし、、困ってました。
大変たすかりました。
ホントホントありがとうございますっ!