【Contact Form7】問い合わせフォームを『表形式』で見やすくする方法│WP Formsとの比較も

『お問い合わせフォームを作りたい』
『見やすく整形したい』
『表形式って、どうやって作るの?』

お問い合わせフォームの作成のため、以下のプラグインを使っています。

それぞれ一長一短であり、

  • 初心者でも使いやすいのは『WP Forms』
  • カスタマイズ性が高いのは『Contact Form7』

かなと。

今日は、『両者の比較』、『表形式にしたかった理由』、『具体的な方法』をお伝えします。

※こんな感じに変わります。

目次

【比較】Contact Form7 とWP Forms

両者を実際に使ってみた経験を踏まえ、比較してみます。

まず、『Contact Form7』ですが、WordPressで最も人気のあるお問い合わせフォームプラグインです。
(有効インストール数1,000万以上…!)

良い点としては、

  • 無料(WP Formsだと有料になるような機能の実装まで)
  • カスタマイズの自由度が高い(CSSやHTMLでの細かな調整に対応できる)
  • 個人レベルでの使用なら必要十分な機能が揃っている

があげられます。

一方で、ハードルも少しあり、

  • プログラミングの知識は少し必要
  • 慣れるまで時間がかかる(初心者には少しとっつきにくい)
  • 直感操作では、WP Formsの方が上

といったことも。

『WP Forms』は上記のメリット・デメリットの反対といった形になってきます。

比較表でまとめてみます。

スクロールできます
項目Contact Form7WP Forms
💰料金無料高機能は有料
💻カスタマイズ性高い無料だと低い
(シンプルなフォームなら十分)
⌨️操作性悪くない直感的
🧑‍💻プログラミングスキル少し必要不要
🌵用途柔軟にレイアウトを作りたい。
表形式に無料でしたい。
シンプルなフォームを作りたい。
(カスタマイズはいらない)

そして表形式にする方法ですが、WP Formsだと『Layout Field(レイアウトフィールド)』という機能で実装できます。

しかし、これは『WPForms Pro(有料)』の機能。
1サイトで使う場合、年間8,000円程度かかります。(3サイトだと約14,000円)

今回は、お金をかけずに表形式にしたかったため、Contact Form7を選びました。

【理由】なぜ、表形式にしたかったのか?

具体的な方法に入る前に、なぜ表形式にしたかったか?をお伝えします。

その理由は、

  • フォームをコンパクトにしたかった(視認性の向上)
  • 入力のしやすさ(操作性の向上)

です。

もちろん、元のフォームでも機能的には問題ありませんが、
お客様に使っていただく際に、少し使いづらさがあったかなと。

できる限り入力のストレスを減らしたく、改善を試みました。

【方法】Contact Form7表を作る方法

表にする方法自体は難しいものではありません。

仕組みが分かれば、機械的に更新できるものです。

もとの形式では、Contact Form7のフォームタブでこのように記載しています。

お名前(性) *
[text* your-name-last placeholder "例:宮本"]

お名前(名) *
[text* your-name-first placeholder "例:大樹"]

メールアドレス *
[email* your-email placeholder "例:aonosuke.motomiya@gmail.com"]

お申込みプラン *
[radio plan use_label_element "顧問契約(法人)" "顧問契約(個人)"]

ご希望の形式 *
[radio meeting-type use_label_element "Zoom" "Google Meet" "Microsoft Teams"]

ご希望の日時(第1希望) *
[text* datetime class:datetime-picker placeholder "日時を選択してください"]

ご希望の日時(第2希望) *
[text* datetime2 class:datetime-picker placeholder "日時を選択してください"]

『ご相談内容』や『現状の課題』を教えていただけないでしょうか? *
[textarea* textarea-1 80x6]

[submit "送信"]

これを以下のように書き換えます。

<table>

<tr>
  <th>お名前(性)<span class="required">*</span></th>
  <td>[text* your-name-last placeholder "例:宮本"]</td>
</tr>

<tr>
  <th>お名前(名)<span class="required">*</span></th>
  <td>[text* your-name-first placeholder "例:大樹"]</td>
</tr>

<tr>
  <th>メールアドレス<span class="required">*</span></th>
  <td>[email* your-email placeholder "例:aonosuke.motomiya@gmail.com"]</td>
</tr>

<tr>
  <th>お申込みプラン<span class="required">*</span></th>
  <td>[radio plan use_label_element "顧問契約(法人)" "顧問契約(個人)"]</td>
</tr>

<tr>
  <th>ご希望の形式<span class="required">*</span></th>
  <td>[radio meeting-type use_label_element "Zoom" "Google Meet" "Microsoft Teams"]</td>
</tr>

<tr>
  <th>ご希望の日時<br>(第1希望)<span class="required">*</span></th>
  <td>[text* datetime class:datetime-picker placeholder "日時を選択してください"]</td>
</tr>

<tr>
  <th>ご希望の日時<br>(第2希望)<span class="required">*</span></th>
  <td>[text* datetime2 class:datetime-picker placeholder "日時を選択してください"]</td>
</tr>

<tr>
  <th>『ご相談内容』や<br>『現状の課題』を<br>教えていただけないでしょうか?<span class="required">*</span></th>
  <td>[textarea* textarea-1 80x6 ]</td>
</tr>

</table>

[submit "送信"]

両者のコードを比較すると、このような形です。

お名前(性) *
[text* your-name-last placeholder "例:宮本"]

お名前(名) *
[text* your-name-first placeholder "例:大樹"]

メールアドレス *
[email* your-email placeholder "例:aonosuke.motomiya@gmail.com"]

お申込みプラン *
[radio plan use_label_element "顧問契約(法人)" "顧問契約(個人)"]

ご希望の形式 *
[radio meeting-type use_label_element "Zoom" "Google Meet" "Microsoft Teams"]

ご希望の日時(第1希望) *
[text* datetime class:datetime-picker placeholder "日時を選択してください"]

ご希望の日時(第2希望) *
[text* datetime2 class:datetime-picker placeholder "日時を選択してください"]

『ご相談内容』や『現状の課題』を教えていただけないでしょうか? *
[textarea* textarea-1 80x6]

[submit "送信"]
<table>

<tr>
  <th>お名前(性)<span class="required">*</span></th>
  <td>[text* your-name-last placeholder "例:宮本"]</td>
</tr>

<tr>
  <th>お名前(名)<span class="required">*</span></th>
  <td>[text* your-name-first placeholder "例:大樹"]</td>
</tr>

<tr>
  <th>メールアドレス<span class="required">*</span></th>
  <td>[email* your-email placeholder "例:aonosuke.motomiya@gmail.com"]</td>
</tr>

<tr>
  <th>お申込みプラン<span class="required">*</span></th>
  <td>[radio plan use_label_element "顧問契約(法人)" "顧問契約(個人)"]</td>
</tr>

<tr>
  <th>ご希望の形式<span class="required">*</span></th>
  <td>[radio meeting-type use_label_element "Zoom" "Google Meet" "Microsoft Teams"]</td>
</tr>

<tr>
  <th>ご希望の日時<br>(第1希望)<span class="required">*</span></th>
  <td>[text* datetime class:datetime-picker placeholder "日時を選択してください"]</td>
</tr>

<tr>
  <th>ご希望の日時<br>(第2希望)<span class="required">*</span></th>
  <td>[text* datetime2 class:datetime-picker placeholder "日時を選択してください"]</td>
</tr>

<tr>
  <th>『ご相談内容』や<br>『現状の課題』を<br>教えていただけないでしょうか?<span class="required">*</span></th>
  <td>[textarea* textarea-1 80x6 ]</td>
</tr>

</table>

[submit "送信"]

何が変わったかというと、以下のような構造を追記しています。

<table>
 <tr>
   <th>★項目名【例:お名前(性) 】</th>
   <td>★記載内容【例:[text* your-name-last placeholder "例:宮本"]】</td>
 </tr>
</table>
  • <table>で、表形式にすることを指定します。
  • <tr>は、『Table Row』の略で、1つの行を追加することを示しています。
  • <th>は、『Table Header』の略で、その行の中の見出しを定義します。
  • <td>は、『Table Data』の略で、Excelでいうセルの中身を記載するイメージです。

このような構造を追加することで、表形式に変換していくことが可能です。

すでにContact Form7のフォームタブに記載しているものがあれば、
AIに『表形式に変換して』と依頼してもいいでしょう。

ただし、その仕組み・構造自体は理解しておきたいもの。
ここが押さえていないと出てきたコードを鵜呑みにするしかなく、
 応用が利かない
といった状況になってしまうからです。

このようにお問い合わせフォームを整理することができますので、もしよろしければ試してみてください。

では、また次回。

編集後記

◇日記
昨日はブログ執筆からスタート。YouTube撮影もしましたが、いったん没。
別のネタで日中に取り直しました。
会計事務所HPの更新や、ラン5km、散髪。
よく集中できた1日だと思います。

◇ブログネタ経緯
 表記式にする方法をまとめておきたく執筆。

◇1日1新
 ContactForm7のカレンダー設定

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

●1990年4月生まれ。東京都出身。
●『時間とお金』『家庭と仕事』『思考と行動』の悩みをサポート。
●IT、発信、営業、会計、税金に強みを持つ。
●公認会計士。
●3児(みんな男の子)の父。

目次