サポート » プラグイン » MW WP Formセレクトボックス0、自動返信メールで非表示に

  • はじめまして、お世話になります。

    MW WP Formで注文フォームを作成しております。
    ある商品の注文個数が初期値である0の場合、0を含む行を非表示にしたいです。

    過去のフォーラムなどを見ながら何度やっても、同じようにやっても出来ずでこの度投稿させていただきました。

    現在作成している注文フォームは、テーブルタグで「品名」、「価格」、「数量」の表を作成し
    数量の部分をセレクトボックスにしていて、初期値を”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フォームについて

    記述している内容の問題点など、ご教授いただけましたら幸いです。
    よろしくお願いいたします。

  • このトピックに返信するにはログインが必要です。