サポート » プラグイン » MW WP Formの自動返信メールの条件分岐について

  • 解決済 spacebros

    (@spacebros)


    お世話になります。
    現在、
    mwform_auto_mail_raw_mw-wp-form-xxx
    というフィルターフックを利用し、自動返信メールの表示の仕方をセレクトボックスの値によって変えようとしています。
    セレクトボックスのid,nameをhogeとしていた場合、
    その変数をどのように記述すればよろしいでしょうか?

    ご教示お願い致します。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック投稿者 spacebros

    (@spacebros)

    過去の投稿を参考にさせて頂いて、
    $data[‘hoge’]や$_GET[‘hoge’]や$data->get(‘hoge’)などを試してみたりの

    ob_start("htmlspecialchars");
    print_r($GLOBALS);
    ob_end_flush();

    で変数の中身を見てみたのですがどうしていいか分からず困っています・・。

    すいませんがご教示頂ければ幸いです。

    マニュアルページにありますように、

    $Data->get( 'hoge' )

    でデータが取れますので試してみてください。
    http://plugins.2inc.org/mw-wp-form/filter-hook/mwform_auto_mail_raw/

    トピック投稿者 spacebros

    (@spacebros)

    Takashi Kitajima様 
    ご教示ありがとうございます。
    マニュアルにありますように、

    function my_mail( $Mail_raw, $values, $data) {
    // $Data->get( ‘hoge’ ) で送信されたデータが取得できます。
      $Mail_raw->from = ‘spsp@hogehoge.com’; // 送信元を変更
    $Mail_raw->sender = ‘会社名’; // 送信者を変更
    $Mail_raw->subject = ‘件名’; // 件名を変更
    $Mail_raw->body = $data->get(‘hoge’);
    return $Mail_raw;
    }
    add_filter( ‘mwform_auto_mail_raw_mw-wp-form-1020’, ‘my_mail’, 10, 2 );

    としますと、

    ● Warning: Missing argument 3 for my_mail()
    ● Fatal error: Call to a member function get()
    の2つのエラーが出てしまいます。
    色々調べまして、
    global $wpdb;
    と、グローバル宣言を行ったのですがそれでもうまくいかない状態です。

    どのようにすればよろしいのでしょうか?

    私も同様の件で困っています。

    mwform_auto_mail_mw-wp-form-xxxなどのメール系の
    フィルターフックから $Data->get( ‘hoge’ )が取得できない感じです・・・。

    function my_mail( $Mail_raw, $values, $data) {
      $Mail_raw->to = $Data->get( 'new_email' );
      return $Mail_raw;
    }
    add_filter( 'mwform_auto_mail_raw_mw-wp-form-xxx', 'my_mail', 10, 3 );

    上記のようにしてもメールの宛先が上書きされず、メールが届かないです。

    どのように解決したらよいでしょうか?

    spacebrosさん、add_filterを呼び出すパラメーターの最後を 2 ではなく 3 にするとどうでしょう。

    amaimonさん、add_filterの最初のパラメーターの末尾はわざと伏字にしてあるのでしょうか? Kitajimaさんが示されたリンク先のマニュアルによると

    フック名「mwform_auto_mail_raw_mw-wp-form-xxx」の xxx の部分はフックを適用したいフォームの作成画面に表示されているフォーム識別子の key になります([mwform_formkey key=”3811″] の場合は 3811)。

    トピック投稿者 spacebros

    (@spacebros)

    gblsm様

    ご教示ありがとうございます。
    add_filter( ‘mwform_auto_mail_raw_mw-wp-form-1020’, ‘my_mail’, 10, 3 );
    としてみましたら、

    Warning: Missing argument 3 for my_mail()

    が消えました。
    しかし、

    Fatal error: Call to a member function get() on a non-object

    がまだ表示されています。

    先ほどの投稿で、
    グローバル宣言をしたとしましたが、勘違いでした。すいませんでした。

    gblsm様

    add_filterの最初のパラメーターの末尾はわざとです。

    実際にはフォーム識別子のkeyになっております。

    私がやりたいのは、フォームに用意された二つのメールアドレス欄
    email_A
    email_B
    のどちらかに入力されたメールアドレスに、
    自動返信用を送りたいと思っております。

    mwform_auto_mail_raw_mw-wp-form-xxx または
    mwform_auto_mail_mw-wp-form-xxx
    のどちらを試しても、
    $Mail_raw->to = $Data->get( ‘email_B’ );
    が機能しません・・・。

    spacebros様と同じ
    Fatal error: Call to a member function get() on a non-object
    のエラーが出ます。

    spacebrosさん、私も試してみましたが、本文が置き換えられたメールが自動送信されました。何が違うんでしょうね?

    下記のコードを、テーマの functions.php に書きました。

    function my_mail( $Mail_raw, $values, $data ) {
    	$Mail_raw->body = $data->get( 'hoge' );
    	return $Mail_raw;
    }
    add_filter( 'mwform_auto_mail_raw_mw-wp-form-2611', 'my_mail', 10, 3 );

    amaimonさんの方法も試してみたところ、宛先を変更して送ることができました。

    function my_mail( $Mail_raw, $values, $data ) {
    //	$Mail_raw->body = $data->get( 'hoge' );
    	if ( $data->get( 'chkbox1' ) == 'mail2' ) {
    		$mail2 = $data->get( 'mail2' );
    		if ( ! empty( $mail2 ) )
    			$Mail_raw->to = $mail2;
    	}
    	return $Mail_raw;
    }
    add_filter( 'mwform_auto_mail_raw_mw-wp-form-2611', 'my_mail', 10, 3 );

    何が違うんでしょうね? WordPress 4.2.2 に MW WP Form 2.4.12 を入れて試しました。

    トピック投稿者 spacebros

    (@spacebros)

    gblsm様

    昨夜は遅くまでありがとうございました。

    理由がよくわからないのですが、今朝になってgblsm様が書いてくださったコードを私のfunctions.phpに記述したところ、

    Fatal error: Call to a member function get() on a non-object

    は出ませんでした。
    その後、昨日私がここに貼りましたコードをそのまま(ここに貼る際に間違って入った全角スペースを抜き、ご指摘頂きました、add_filterを呼び出すパラメーターの最後を3に変えて)functions.phpに貼りましても、エラーは出ず、メールの内容もうまく変更できていました。

    とても助かりました、ありがとうございました。

    トピック投稿者 spacebros

    (@spacebros)

    amaimon様の問題が解決したかどうか分からなかったためトピックをしばらく未解決のままにしていたのですが、いらっしゃらないようなので解決にさせて頂きます。

    Takashi Kitajima様、gblsm様 ありがとうございました。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック「MW WP Formの自動返信メールの条件分岐について」には新たに返信することはできません。