お世話になります。
WordPress: 6.0
MW WP Form (v.4.4.0)
MW WP Formで注文フォームを作成しております。
実現したいこと
ある商品の注文個数をセレクトボックス(0〜3の値)で選択。
セレクとボックスの値が0の場合、0を含む行を自動返信メールで非表示にしたい。
実現のイメージ
▼フォームのイメージ
品名 |価格 |数量
商品1|300円| 1 ←セレクトボックス
商品2|400円| 2
商品3|500円| 0 ←自動返信メールでこの行を非表示にしたい
商品4|600円| 1
↓
▼実現したい自動返信メールの内容
商品1:300円×1個
商品2:400円×2個
商品4:600円×2個
現在の状態
現在作成している注文フォームは、
テーブルタグで「品名」、「価格」、「数量」の表を作成し
数量の部分をセレクトボックス(0〜3の値)にしていて
初期値を”0”にしております。
設定しているフォームは以下になります。
<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_auto_mail_raw_mw-wp-form-フォームの識別番号', 'my_mail', 10, 3 );
と書いているのですが、送信者宛にはメールが届かず、管理者宛にはセレクトボックスの値が0の行も表示されてしまいます。。
初心者のため初歩的なミスを犯していのるかもしれません…orz
記述している内容の問題点など、ご教授いただけましたら幸いです。
よろしくお願いいたします。
あなたの回答
tips
プレビュー