質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

0回答

947閲覧

MW WP Form自動返信メール セレクトボックスの値で分岐させたい

TMoyu

総合スコア6

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2022/05/26 05:06

編集2022/05/28 00:59

お世話になります。

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問