• 解決済 miwarock777

    (@miwarock777)


    WordPress 5.8の環境でMW WP Formの4.4.0のプラグインをいれています。

    ひとつめの入力項目によってその後の入力項目を変更している条件分岐フォームにしており、
    フィルターフックの
    mwform_admin_mail_mw-wp-form-xxx
    mwform_auto_mail_mw-wp-form-xxx
    を使って、お問い合わせメールが送信することはできています。

    メールの本文に、お問い合わせ番号(tracking_number)を記載したく、
    functions.phpへ下記のように記述したのですが、うまくいきませんでした。

    どのように記述したらよいのか、公式サイトのマニュアルや、WEB上の記事などで調べてはみたものの、
    該当する記事に出会えず、こちらに投稿させていただきました。
    ご教授いただけたら幸いです。よろしくお願いいたします。

    function my_admin_mail( $Mail, $values, $Data ) {
        if ($Data->get( 'ご注文・お問い合わせ内容' ) == 'AAAA'){
            $Mail->body = "お問い合わせフォームより以下のメールを受付ました。"."\n"
            ."\n"
            ."【お問い合わせ番号】".$Data->get( 'tracking_number' )."\n"
            ."【お名前】".$Data->get( 'お名前' )."\n"
            ."【メールアドレス】".$Data->get( 'メールアドレス' )."\n"
            ."【メッセージ】"."\n"
            .$Data->get( 'メッセージ' )."\n";
        } elseif ($Data->get( 'ご注文・お問い合わせ内容' ) == 'BBBB'){
            $Mail->body = "お問い合わせフォームより以下のメールを受付ました。"."\n"
            ."\n"
            ."【お問い合わせ番号】".$Data->get( 'tracking_number' )."\n"
            ."【お名前】".$Data->get( 'お名前' )."\n"
            ."【電話番号】".$Data->get( '電話番号' )."\n"
            ."【メッセージ】"."\n"
            .$Data->get( 'メッセージ' )."\n";
        }
        return $Mail;
    }
    add_filter( 'mwform_admin_mail_mw-wp-form-XXX', 'my_admin_mail', 10, 3 );
    function my_mail( $Mail, $values, $Data ) {
    
        if ($Data->get( 'ご注文・お問い合わせ内容' ) == 'AAAA'){
            $Mail->body = $Data->get( 'お名前' )."様"."\n"
            ."\n"
            ."送信内容の控えをお送りさせていただきます。"."\n"
            ."\n"
            ."【お問い合わせ番号】".$Data->get( 'tracking_number' )."\n"
            ."【お名前】".$Data->get( 'お名前' )."\n"
            ."【フリガナ】".$Data->get( 'フリガナ' )."\n"
            ."【メールアドレス】".$Data->get( 'メールアドレス' )."\n"
            ."【メッセージ】"."\n"
            .$Data->get( 'メッセージ' )."\n"
        } elseif ($Data->get( 'ご注文・お問い合わせ内容' ) == 'BBBB'){
            $Mail->body = $Data->get( 'お名前' )."様"."\n"
            ."\n"
            ."送信内容の控えをお送りさせていただきます。"."\n"
            ."\n"
            ."【お問い合わせ番号】".$Data->get( 'tracking_number' )."\n"
            ."【お名前】".$Data->get( 'お名前' )."\n"
            ."【フリガナ】".$Data->get( 'フリガナ' )."\n"
            ."【電話番号】".$Data->get( '電話番号' )."\n"
            ."【メッセージ】"."\n"
            .$Data->get( 'メッセージ' )."\n"
        }
        return $Mail;
    }
    add_filter( 'mwform_auto_mail_mw-wp-form-XXX', 'my_mail', 10, 3 );
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • @miwarock777さん

    はじめまして。
    正攻法ではないかもしれませんが、以下で実現出来ると思います。

    • 管理画面の「自動返信メール設定」「管理者宛メール設定」の本文に、「{tracking_number}」とだけ記述
    • $Mail->bodyでtracking_numberが取得できるので、各フック内を以下のように記述
      $tracking_number = $Mail->body;
      
      $Mail->body = $Data->get( 'お名前' )."様"."\n"
      ."\n"
      ."送信内容の控えをお送りさせていただきます。"."\n"
      ."\n"
      ."【お問い合わせ番号】".$tracking_number."\n"
      ~~~~~~
    トピック投稿者 miwarock777

    (@miwarock777)

    @wildworksさん
    回答くだあってありがとうございました。

    管理画面の「自動返信メール設定」「管理者宛メール設定」の本文に、「{tracking_number}」とだけ記述
    $Mail->bodyでtracking_numberが取得できるので、各フック内を以下のように記述

    なるほどです!!
    与えられた条件の中で、そのようなやり方があるのか〜と唸ってしまいました。
    柔軟に発想するって大事ですね。。。

    下記のようにして、無事やりたいことが実現できました。
    @wildworksさん
    この度は誠にありがとうございました!!

    function my_admin_mail( $Mail, $values, $Data ) {
    
        $tracking_number = $Mail->body;
    
        if ($Data->get( 'ご注文・お問い合わせ内容' ) == 'AAAA'){
            $Mail->body = "お問い合わせフォームより以下のメールを受付ました。"."\n"
            ."\n"
            ."【お問い合わせ番号】".$tracking_number."\n"
    〜〜〜〜〜〜〜〜〜〜
    function my_mail( $Mail, $values, $Data ) {
    
        $tracking_number = $Mail->body;
    
        if ($Data->get( 'ご注文・お問い合わせ内容' ) == 'AAAA'){
            $Mail->body = $Data->get( 'お名前' )."様"."\n"
            ."\n"
            ."送信内容の控えをお送りさせていただきます。"."\n"
            ."\n"
            ."【お問い合わせ番号】".$tracking_number."\n"
    〜〜〜〜〜〜〜〜〜〜
    • この返信は3年、 3ヶ月前にmiwarock777が編集しました。理由: タグの使用ミスがあったので
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「MW WP Formでメール本文に問い合わせ番号を記載したい」には新たに返信することはできません。