web-dev-qa-db-ja.com

新規ユーザー登録用のカスタム管理者メールアドレス

私はこの小さな問題の解決策をウェブで探しましたが、私はEメールアドレスではなく通知Eメールをカスタマイズする方法を教えてくれる結果を得続けています。

私はWP設定の管理者メールアドレスを[email protected]として持っていますが、すべての新規ユーザー登録を別のメールアドレスにしたいのです。

例えば.

新規ユーザー登録、電子メールは[email protected]に送信されます。

プラグイン、テーマなどを更新する必要があります。すべてのEメールはJUST [email protected]に送信されます。

3
David Pearce

はい、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');
4
krishna

特定の電子メールの質問を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;
}
2
butlerblog