Gianismでユーザーが登録したあとにメッセージを送る
Gianismはv3.1までユーザー登録時にデフォルトでメッセージを送りません。理由としてはSNSによってはメールアドレスを取得できない場合があるからです。しかしながら、会員制サイトを運営していると、ときおり「パスワードも登録時のメールアドレスも忘れてしまったままSNSアカウントを削除した」というユーザーが現れます。
このため、ユーザーが登録した場合にメールを送る方法を説明します。
wpg_connectの利用
wpg_connect
はGianismでユーザーがSNSアカウントでユーザー登録あるいは既存WordPressアカウントとSNSアカウントを連携したときに実行されるアクションフックです。このフックを利用することで、登録時にユーザーにメールを送ることができます。
add_action( 'wpg_connect', function( $user_id, $data, $service, $on_creation ) { // 登録時だけ実行 if ( ! $on_creation ) { return; } // ユーザー情報を取得 $user = get_userdata( $user_id ); // メールを送信 $subject = 'ようこそ、Gianismへ'; $message = sprintf( '%s様 新規登録ありがとうございます。', $user->display_name ); wp_mail( $user->user_email, $subject, $message ); }, 10, 4 );
注意点
GianismによってSNSアカウント経由で作成されたユーザーはメールアドレスを持っていないことがあります。内部的には xxx@pseudo.example.jp
という仮のドメインのメールアドレスを作成されます。
そのため、次のような方法でメールを送らないようにチェックを入れる必要があるかもしれません。
if ( false !== strpos( $user->user_email, '@pseudo.' ) ) { // ユーザーのアドレスが仮のものだったらメールを送らない return; }
プレミアムアカウントサービス
プレミアムユーザーに向けて、簡易的なサンプルプラグインを用意しました。Gumroadよりダウンロードしてください。