[WordPress] ユーザー設定のフォームでのユーザー登録とアクティベーション メール

スポンサーリンク

質問

WP として述べられた ここ にカスタムのログインと登録フォームを実装しています。ユーザー今すぐ登録できますが、管理者はバックエンドからそのユーザーを承認するまでログインできません

管理者への通知電子メールを新規ユーザーの登録でユーザー通知メール管理者がバックエンドから承認を実装する必要があります。メールを送信する私の登録フォームに以下のコードみましたが動作していないこと。さらに、標準的な電子メールを送信し続けます

/ Redefine user notification function
if ( !function_exists('wp_new_user_notification') ) {
    function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
        $user = new WP_User($user_id);

        $user_login = stripslashes($user->user_login);
        $user_email = stripslashes($user->user_email);

        $message  = sprintf(__('New user registration on your blog %s:'), get_option('blogname')) . "\r\n\r\n";
        $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
        $message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n";

        @wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);

        if ( empty($plaintext_pass) )
            return;

        $message  = __('Hi there,') . "\r\n\r\n";
        $message .= sprintf(__("Welcome to %s! Here's how to log in:"), get_option('blogname')) . "\r\n\r\n";
        $message .= wp_login_url() . "\r\n";
        $message .= sprintf(__('Username: %s'), $user_login) . "\r\n";
        $message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n\r\n";
        $message .= sprintf(__('If you have any problems, please contact me at %s.'), get_option('admin_email')) . "\r\n\r\n";
        $message .= __('Adios!');

        wp_mail($user_email, sprintf(__('[%s] Your username and password'), get_option('blogname')), $message);

    }
}

この プラグインを使用しているユーザー登録承認

できますユーザー登録するユーザー設定フォームを使用してメールを送信し、管理者が承認する場合ユーザーに通知します

答え

承認ユーザーの WP のプラグインの設定ページで新規登録をユーザーに送信する電子メールの内容を設定できます。このプラグインの設定は、ワードプレスのダッシュ ボードで [設定] メニューの下で利用可能です。そこにコンテンツを追加するは、その登録が承認された後にユーザーにメールを送信する仕事を行います

電子メールを送信する管理者に登録を承認した後

wpau_approve

のフックに、コードを書くことができ、たい場合。このフックをユーザー id をパラメーターとして受け付ける

このような何かを書くことができますように:

add_action ('wpau_approve' , 'send_mail_to_admin_post_approval', 10, 1);

/*
 * Sends email to Administrator after user registration is approved
 * 
 * @param int $user_id User id of user whose registration is just approved
 */
function send_mail_to_admin_post_approval($user_id) {

         $user = new WP_User($user_id);

        $user_login = stripslashes($user->user_login);
        $user_email = stripslashes($user->user_email);

        $message  = sprintf(__('New user registration on your blog %s:'), get_option('blogname')) . "\r\n\r\n";
        $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
        $message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n";

        @wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);
}

上記のあなたのプラグインのコードを追加した場合後も

またはテーマの functions.php ファイル メールつもりはない、その後我々 メール ログ プラグインをインストールするをお勧めします。そのプラグインをインストールした後 WordPress の dashobard で「ツール」メニューの下の ‘電子メール ログ’ 名前ページに wp_mail 関数によって引き起こされるすべての電子メールのリストを表示できます。 します場合は、あなたのメール アドレスが wp_mail によって引き起こされているされませんされている受信者が受信して、この SMTP 設定の問題があります

有効または SMTP ソフトウェア サーバーをインストールする必要があります。それにアクセスできない場合は、 SMTP メール WP プラグインをインストールし、構成します。受信者 SMTP メール WP プラグインが正しく構成されている場合、プラグインを構成した後、wp_mail 関数によって発生したメールを受信することができるはずです

この希望を支援:)

http://stackoverflow.com/questions/28229489/user-registration-and-activation-email-in-custom-form

スポンサーリンク

Leave a Reply