サポート » プラグイン » Never Let Me Go 退会処理時に不要なメールが飛びます

  • 解決済 tamakana

    (@tamakana)


    Theme My Loginを使用して会員サイトを作成、退会機能として Never Let Me Go を使用しています。

    退会はできたのですが、その際に「パスワード変更のお知らせ」と「メールアドレス変更のお知らせ」のメールが退会処理したユーザーに届いてしまいます。

    これらのメールはおそらくWordPressのデフォルトのメールのようなのですが、
    飛ばないように処理することは可能でしょうか。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • @tamakana 「上級者向け…アカウントを停止し、データを残す」で使っていますか? もしそうなら、確かにメールが飛びますね。ちょっと調べますので、いましばらくお待ちください。

    @takahashi_fumiki)
    早速のご返信ありがとうございます。その上、製作者様から直にご連絡いただけて幸いです…!
    まずは、プラグイン制作いただきありがとうございます。

    おっしゃる通り、上級者向けに設定しております。

    何卒よろしくお願いいたします。

    @tamakana

    取り急ぎ、プラグインの機能としてメールを抑制することは必要だと思うので、あとで実装しますが、現在はこんな感じでいけると思います。

    // Register hook just before deletion.
    add_action( 'nlmg_before_leave', function( $user_id ) {
    	
    	// Avoid password change mail.
    	add_filter( 'send_password_change_email', function( $send_mail, $user ) use ( $user_id ) {
    		if ( $user_id == $user->ID ) {
    			$send_mail = false;
    		}
    		return $send_mail;
    	}, 10, 2 );
    	
    	// Avoid email change mail.
    	add_filter( 'send_email_change_email', function( $send_mail, $user ) use ( $user_id ) {
    		if ( $user_id == $user->ID ) {
    			$send_mail = false;
    		}
    		return $send_mail;
    	}, 10, 2 );
    	
    } );
    

    一回も動作検証していないのですが、PHP5.3以上なら動くはずです。テーマの functions.php とかに書いておいてください。

    @takahashi_fumiki

    ありがとうございます!
    テストしてみましたが、変わらずメール2通とも届いてしまいました。
    PHPバージョンは 7.0.18 です。

    他のプラグインとの兼ね合いなのでしょうか。

    @tamakana

    ありゃ。動きませんでしたか。すいません。
    そうなると、 if の部分がおかしいと思うので、

    if ( $user_id == $user->ID ) {
    	$send_mail = false;
    }
    

    この部分を

    if ( $user_id == $user['ID'] ) {
    	$send_mail = false;
    }
    

    とかにしてみてください。2箇所あります。

    他のプラグインとの兼ね合いなのでしょうか。

    いえ、僕が動作検証しないで書いているからです。

    @takahashi_fumiki

    ありがとうございます!
    いただいた内容で処理時に飛ばなくなりました!

    @tamakana

    よかったです。このトピックを解決済みにしておいてください。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「Never Let Me Go 退会処理時に不要なメールが飛びます」には新たに返信することはできません。