• お世話になります。

    MW WP Formを使用し、注文フォームを作成しています。

    各バージョンは下記になります。
    WordPress: 6.0
    MW WP Form (v.4.4.0)

    ▼やりたいこと
    ある商品の注文個数が0の場合、その0を含む行を自動返信メール上で非表示にしたいです。

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

    (@moyu52)

    フォーラムへの投稿がスパム認証されてしまいできず、別アカウントで下記URLと同様の質問になってしまいます。重複してしまい申し訳ございません。
    MW WP Formセレクトボックス0、自動返信メールで非表示に

    続きになります。

    現在作成している注文フォームは、
    テーブルタグで「品名」、「価格」、「数量」の表を作成し
    「数量」の部分をセレクトボックスにしています。

    ▼フォームのイメージ
    品名 |価格 |数量
    商品1|300円| 1  ←この部分がセレクトボックス
    商品2|400円| 2
    商品3|500円| 0
    商品4|600円| 1

    ▼やりたい自動返信メールの内容
    商品1:300円×1個
    商品2:400円×2個
    商品4:600円×2個

    (商品3は数量が0に選択されているため、自動返信メールに商品3の行が記載されない)

    設定している入力フォームは以下になります。

    <table>
    <thead>
    <tr>
    <th>品名</th>
    <th>価格</th>
    <th>数量</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td>商品1</td>
    <td>300円</td>
    <td>[mwform_select name="qnty1" children="0,1,2,3" value="0"]個</td>
    </tr>
    <tr>
    <td>商品2</td>
    <td>400円</td>
    <td>[mwform_select name="qnty2" children="0,1,2,3" value="0"]個</td>
    </tr>
    <tr>
    <td>商品3</td>
    <td>500円</td>
    <td>[mwform_select name="qnty3" children="0,1,2,3" value="0"]個</td>
    </tr>
    <tr>
    <td>商品4</td>
    <td>600円</td>
    <td>[mwform_select name="qnty4" children="0,1,2,3" value="0"]個</td>
    </tr>
    </tbody>
    </table>

    としており、自動返信メールの設定は

    商品1:300円×{qnty1}個
    商品2:400円×{qnty2}個
    商品3:500円×{qnty3}個
    商品4:600円×{qnty4}個

    と書いています。

    functions.phpのほうには

    /**
     * my_mail
     * @param object $Mail
     * @param array $values
     * @param MW_WP_Form_Data $Data
     */
    function my_mail( $mail_raw, $values, $data ) {
    
    	if ( $values['qnty1'] == 0 ) {
    		$mail_raw->body = str_replace( ' 商品1:300円×{qnty1}個'."\r\n", '', $mail_raw->body );
    	}
        if ( $values['qnty2'] == 0 ) {
    		$mail_raw->body = str_replace( ' 商品2:400円×{qnty2}個'."\r\n", '', $mail_raw->body );
    	}
        if ( $values['qnty3'] == 0 ) {
    		$mail_raw->body = str_replace( ' 商品3:500円×{qnty3}個'."\r\n", '', $mail_raw->body );
    	}
        if ( $values['qnty4'] == 0 ) {
    		$mail_raw->body = str_replace( ' 商品4:600円×{qnty4}個'."\r\n", '', $mail_raw->body );
    	}
    	return $mail_raw;
    }
    add_filter( 'mwform_admin_mail_raw_mw-wp-form-フォームの識別番号', 'my_mail', 10, 3 );

    と書いていますが、セレクトボックスの値を0で送信しても、自動返信メールで表示されてしまいます。

    参考にさせていただいたトピックは下記になります。
    MW WP Formで入力がない項目を自動返信メールから削除したい

    mw-wp-formフォームについて

    他サイトもたくさん参考にさせていただき、同じようにタグを使用してfunction.phpに記入しましたがにっちもさっちも行きません。。
    初心者のため初歩的なミスを犯していのるかもしれず…orz
    記述している内容の問題点など、ご教授いただけましたら幸いです。
    よろしくお願いいたします。`

    こんにちは

    こちらのトピックを参照になると思います。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「フォームの自動返信メールで特定の項目を非表示にしたい」には新たに返信することはできません。