• 解決済 nbk45

    (@nbk45)


    大変便利にMW WP Formを使わせてもらっています。
    ただ1点、どうしても分からないことがあります。

    フォームから登録完了後、自動返信も管理者宛
    メールもも不要な場合、どのようにしたら良いのでしょうか。

    ・フォーム内容は、mwform_admin_mail_raw_mw-wp-form-xxxをフックし、独自にカスタムフィールド保存
    ・宛先toは、同じくmwform_admin_mail_raw_mw-wp-form-xxxで空にする

    データはカスタムフィールドに保存されるのですが、メール送信していないためか、エラーになってしまいました。

    送信成功を偽装(?)するような方法はないのでしょうか。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • こんにちは

    mwform_is_mail_sended フィルターフックで true を返すと送信成功(?)になるようです。

    function my_mwform_is_mail_sended() {
    	if ( isset( $_POST['mw-wp-form-form-id'] ) && $_POST['mw-wp-form-form-id'] == xxx ) {
    		return true;
    	}
    	return false;
    }
    add_filter( 'mwform_is_mail_sended', 'my_mwform_is_mail_sended' );
    トピック投稿者 nbk45

    (@nbk45)

    ishitaka様

    どうもありがとうございます。
    エラーにならず、目的動作になりました!
    とても助かりました。

    トピック投稿者 nbk45

    (@nbk45)

    エラーにならないと思ったら、toを抜いておらず送信されていました。
    改めて、下記のようにtoを抜いたところ、エラーになるようで、完了画面からフォーム画面にリダイレクトが発生しています。何がよくないのでしょうか。

    add_filter(‘mwform_admin_mail_raw_mw-wp-form-XXX’, ‘mwform_admin_mail_raw’, 10, 3);

    function mwform_admin_mail_raw($Mail, $values, $Data) {

      //DB書き込み処理

    //宛先をドロップ
      $Mail->to = ”;

    //入力データをクリアする
    $Data->clear_values();

    return $Mail;
    }

    add_filter(‘mwform_is_mail_sended’, ‘my_mwform_is_mail_sended’);

    function my_mwform_is_mail_sended($param) {
    if (isset($_POST[‘mw-wp-form-form-id’]) && $_POST[‘mw-wp-form-form-id’] == XXX) {
    return true;
    }
    return false;
    }

    • この返信は5年、 8ヶ月前にnbk45が編集しました。
    • この返信は5年、 8ヶ月前にnbk45が編集しました。

    検証してみました。結果、エラーになりませんでした。
    なぜエラーになるのか・・・ちょっと分かりません。m(__)m

    トピック投稿者 nbk45

    (@nbk45)

    ishitaka様

    ご検証・ご返信ありがとうございます。

    詳細割愛しましたが、「DB書込み処理」を
    コメントしたら、リダイレクト発生しませんでした。

    ご検証いただいて、エラー発生しなかったことと
    合わせ、この処理がよろしく無いということですね。

    せっかくご検証いただいたのですが、MW WP Form
    でリダイレクト理由を追いかけるのも難しく
    時間がかかりそうなので、何か別の方法を考えることに
    します。

    どうもありがとうございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「MW WP Formでメール送信させない」には新たに返信することはできません。