MENU

【WordPress】コンタクトフォーム7でチェックボックスを複数選択した時のメール設定

コンタクトフォーム7でチェックボックスを複数選択した時のメール設定

お問い合わせでチェックボックスを複数選択して送信しても一つの内容しか送信されない!!!

というわけで今回は、コンタクトフォーム7でチェックボックスを複数選択して送信した際に
選択した内容全てを送信結果に含む方法をご説明いたします!

目次

コンタクトフォーム7でチェックボックスを複数選択した際の挙動

基本的にお問い合わせフォームではinputタグを使用します。
ここでは以前ご紹介した「コンタクトフォーム7を動的にする方法」からご紹介いたします。

ここではチェックボックスの「1」と「2」にチェックを入れて
メール送信してみましょう。その時の間違ったコードは下記です。

<div class="p-offering-form__checkbox">
    <input type="checkbox" name="order_item" value="<?php the_title(); ?>" id="order<?php echo $i?>">
  <label for="order<?php echo $i?>"><?php echo $i?></label>
  </div>

一応、コードの説明をしますと、チェックボックスを動的にしており、
チェックボックスの数字を投稿記事数分増やすコードにしております。

inputタグのvalue属性は<?php the title(); ?>で投稿タイトルを返すようにしてます。

今回は「1」と「2」にチェックを入れているので狙いとしては
「①生花スタンド三段 ②生花スタンド二段」という感じでメール送信されればOKですね。 
上記のコードで送ったメールを見てみましょう↓

2つにチェックを入れたはずなのに「②生花スタンド二段」しか受信できていません。
上記のコードでは、一つしか送信されないようです。

複数送信するときのコード

ではどこを修正すれば良いのでしょうか。
ポイントはinputタグのname属性にコードを加えます。

  <div class="p-offering-form__checkbox">
    <input type="checkbox" name="order_item[]" value="<?php the_title(); ?>" id="order<?php echo $i?>">
  <label for="order<?php echo $i?>"><?php echo $i?></label>
  </div>

どこが変わったか分かりますでしょうか??

name="order_item[]"

name属性に設定した“order_item”の後ろに[]を付けております。
[]は配列ですね。[]を付けることで配列になり、複数選択ができるようになります。

では配列にした場合のメール送信はどうなるかみてみましょう!

無事、選択した項目全てが送信されましたね!

まとめ

というわけで今回は、コンタクトフォーム7でチェックボックスを複数選択して送信した際に
選択した内容全てを送信結果に含む方法をご説明しました!
お問い合わせフォームにチェックボックスを採用した際は見落としがちなので気をつけていきましょう!

よかったらフォローしてね!!
  • URLをコピーしました!
  • URLをコピーしました!
目次