私はこの小さな問題の解決策をウェブで探しましたが、私はEメールアドレスではなく通知Eメールをカスタマイズする方法を教えてくれる結果を得続けています。
私はWP設定の管理者メールアドレスを[email protected]として持っていますが、すべての新規ユーザー登録を別のメールアドレスにしたいのです。
例えば.
新規ユーザー登録、電子メールは[email protected]に送信されます。
プラグイン、テーマなどを更新する必要があります。すべてのEメールはJUST [email protected]に送信されます。
はい、wp_mail関数を使ってEメールアドレスを変更することができます。あなたはこれを行う方法をこれで確認できます http://www.butlerblog.com/2011/07/14/changing-the-wp_mail-from-address-with-a-plugin/
新規プラグイン登録時にメールアドレスをサポートするユーザー管理にこのプラグインを使用してください https://wordpress.org/plugins/wp-members/
Functions.phpファイルでこのコードを使ってください。
function so174837_registration_email_alert( $user_id ) {
$user = get_userdata( $user_id );
$email = $user->user_email;
$message = $email . ' has registered to your website.';
wp_mail( '[email protected]', 'New User registration', $message );
}
add_action('user_register', 'so174837_registration_email_alert');
特定の電子メールの質問をGoogleで検索しているときに、この投稿に導かれました。面白いのは、投稿された回答が私のブログ投稿とプラグインの1つを参照していることです。それはちょっとすごいことです - この場合、私はOPに答えているとは思わないことを除いて。
問題は、管理者へのすべての通知が、指定された電子メールアドレス(1つを除く)に移動する必要があるということです - 新しいユーザー通知。
それに対する私のアプローチ(プロセスがWPネイティブ登録だった場合)は、 wp_mail() にフィルタを使用することです(これは、ところで、 全体の最後に/プロセス )。
私はそのフィルタを使ってメッセージの内容を調べ、それが新しいユーザへの通知のために送られてきたEメールであれば、フィルタを使って "to"アドレスを変更します。
この例では、件名にWPデフォルト管理者通知Eメールの件名行の一部である「新規ユーザー登録」が含まれているかどうかが調べられます。その場合、「to」のEメールアドレスは目的のアドレスに変更されます。それ以外の場合は、他のすべてのケースはそのままフィルタを通過します。
add_filter( 'wp_mail', 'my_wp_mail_filter' );
function my_wp_mail_filter( $args ) {
// Check the message subject for a known string in the notification email.
if ( strpos( $args['subject'], 'New User Registration' ) ) {
// This is the notification email, so change the "to" address.
$args['to'] = '[email protected]';
}
return $args;
}