• 解決済 trcf

    (@trcf)


    いつもお世話になっております。
    MWWPformのフックについて教えていただきたく質問させていただきます。

    HPで複数のお問い合わせフォームを設置しております。
    function.phpにて、以前、以下のフックを記載しました。

    /* MW WP form メールに内容はいれないがWP内データベースには蓄積する*/
    function my_mail( $Mail, $values, $Data ) {
    // $Data->get( ‘hoge’ ) で送信されたデータが取得できます。
    $Mail->body = ‘ホームページからアンケートの入力がありました。’; // 本文を変更
    // $Mail->send(); で送信もできます。
    return $Mail;
    }
    add_filter( ‘mwform_admin_mail_mw-wp-form-12350’, ‘my_mail’, 10, 3 );
    add_filter( ‘mwform_admin_mail_mw-wp-form-14213’, ‘my_mail’, 10, 3 );

    今回、他のフォームでセレクトボックスの内容を件名にしたかったため、新たにフックを設置しなければならなくなりました。

    /* MWWPFORM 選択内容を件名とする */
    function my_mail( $Mail_raw, $values, $Data ) {
    $Mail_raw->subject = ‘{contract}’; // 件名を変更
    return $Mail_raw;
    }
    add_filter( ‘mwform_auto_mail_raw_mw-wp-form-14295’, ‘my_mail’, 10, 3 );

    こちらを設置したところエラーとなってしまいました。
    どう記述すればよろしいのでしょうか。

    phpは全くの素人ですので、ご教授いただければ幸いです。
    どうぞよろしくお願いいたします。

    • このトピックはtrcfが4年、 4ヶ月前に変更しました。
    • このトピックはtrcfが4年、 4ヶ月前に変更しました。
    • このトピックはtrcfが4年、 4ヶ月前に変更しました。
6件の返信を表示中 - 1 - 6件目 (全6件中)
  • 恐らく、選択内容を件名~のfunction my_mail( $Mail_raw, $values, $Data ) {の前にadd_filter( 'mwform_admin_mail_mw-wp-form-14213', 'my_mail', 10, 3 );がある為に
    スクリプト側が命令を勘違いしてエラーが出ています。

    例示の関数my_mailをそのまま使うのではなく、my_mail_rawなど異なる名前をつけてみてください。

    function my_mail_raw( $Mail_raw, $values, $Data ) {
    $Mail_raw->subject = '{contract}'; // 件名を変更
    return $Mail_raw;return $Mail_raw;
    }
    add_filter( 'mwform_auto_mail_raw_mw-wp-form-14295', 'my_mail_raw', 10, 3 );
    • この返信は4年、 4ヶ月前にmoyo55が編集しました。理由: 誤字修正
    トピック投稿者 trcf

    (@trcf)

    @moyo55 さま
    ご返信いただきありがとうございます。
    お教えいただいたとおり記述しました。
    エラーはなくなったのですが、上の命令文(/* MW WP form メールに内容はいれないがWP内データベースには蓄積する*/)も適用されてしまいました。

    何度も申し訳ございません。
    ご教授いただければ幸いです。

    どうぞよろしくお願いいたします。

    • この返信は4年、 4ヶ月前にtrcfが編集しました。
    • この返信は4年、 4ヶ月前にtrcfが編集しました。
    • この返信は4年、 4ヶ月前にtrcfが編集しました。

    mwform_admin_mail_mw-wp-form-xxxは管理者宛メールの内容を上書きする命令なのでデータベースへの保存は関係ありません。
    データベースへの保存設定はフォーム作成画面にあるはずです。

    トピック投稿者 trcf

    (@trcf)

    @moyo55 さま
    ご返信ありがとうございます。
    説明不足で大変申し訳ございません。
    以下の記述は、メール本文を「ホームページからアンケートの入力がありました。」とするが、データベースには蓄積するというものです。
    しかし、今回「選択内容を件名とする」というフックをかけたmw-wp-form-14295の本文も、「ホームページからアンケートの入力がありました。」となってしまいました。
    「ホームページからアンケートの入力がありました。」となってしまったのは、入力者に対する自動返信メールです。
    管理者へのメールは影響ありませんでした。

    以下のフックの影響を受けないようにするにはどのようにすればよろしいのでしょうか。
    何度も申し訳ございません。

    /* MW WP form メールに内容はいれないがWP内データベースには蓄積する*/
    function my_mail( $Mail, $values, $Data ) {
    // $Data->get( ‘hoge’ ) で送信されたデータが取得できます。
    $Mail->body = ‘ホームページからアンケートの入力がありました。’; // 本文を変更
    // $Mail->send(); で送信もできます。
    return $Mail;
    }
    add_filter( ‘mwform_admin_mail_mw-wp-form-12350’, ‘my_mail’, 10, 3 );
    add_filter( ‘mwform_admin_mail_mw-wp-form-14213’, ‘my_mail’, 10, 3 );

    メール本文を変えたいのはmw-wp-form-12350とmw-wp-form-14213
    件名を変えたいのはmw-wp-form-14295 です。

    ご教授いただければ幸いです。
    どうぞよろしくお願いいたします。

    • この返信は4年、 4ヶ月前にtrcfが編集しました。
    • この返信は4年、 4ヶ月前にtrcfが編集しました。

    勘違い失礼しました。
    もしかしたらですが、add_filter( 'mwform_auto_mail_raw_mw-wp-form-14295', 'my_mail', 10, 3 );という記述が何処かに残っていませんか?
    残っている場合は自動返信の本文内容が上書きされてしまいます。

    もし以下の記述のみで発生している場合は、私には原因がわかりません。すみません。
    (フォームを4つほど設置して試してみたのですが再現しなかったので…。)

    /* MW WP form メールに内容はいれないがWP内データベースには蓄積する*/
    function my_mail( $Mail, $values, $Data ) {
    $Mail->body = 'ホームページからアンケートの入力がありました。'; 
    return $Mail;
    }
    add_filter( 'mwform_admin_mail_mw-wp-form-12350', 'my_mail', 10, 3 );
    add_filter( 'mwform_admin_mail_mw-wp-form-14213', 'my_mail', 10, 3 );
    /* MWWPFORM 選択内容を件名とする */
    function my_mail_raw( $Mail_raw, $values, $Data ) {
    $Mail_raw->subject = '{contact}';
    return $Mail_raw;
    }
    add_filter( 'mwform_auto_mail_raw_mw-wp-form-14295', 'my_mail_raw', 10, 3 );

    ※最初の返信で書いたコードではreturn $Mail_raw;が重複してました。

    トピック投稿者 trcf

    (@trcf)

    @moyo55 さま
    ご返信ありがとうございます。
    フォームを設置してまでご検証いただいたのですね。
    お手数おかけしてしまい申し訳ありませんでした。

    ご教授いただいたコードをfunction.phpに上書きしたところ、きちんと処理がされました!
    本当にありがとうございます。

    恐らく、わたしのほうで記述ミスがあり、選択内容を件名とする処理がうまくいってなかったと思われます。申し訳ございません。

    この度は親切にご返信いただき大変助かりました。
    また、何度もお返事をくださりありがとうございました。

    また何かありましたら、よろしくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「MWWPformのフックについて」には新たに返信することはできません。