【Contact Form 7の必須項目が効かない】送信ボタンを直す前に確認する3つのこと

この記事の結論

必須項目が効かないときは、フォームタグ・公開ページ・キャッシュを分けて確認します。

フォームの必須項目エラーを確認するノートPC

Contact Form 7で「必須項目を入れたのに送れない」「必須ではないはずの欄で止まる」ときは、送信ボタンやプラグインを入れ直す前に、フォームの定義・画面上の表示・キャッシュを順に分けて確認します。原因を混ぜて触ると、直ったように見えて同じ設定を壊しがちです。

まず確認したい結論

必須チェックが想定どおり動かないときは、(1) フォームタブのタグ、(2) 実際に公開ページに出ている入力欄、(3) キャッシュ後の画面、の3か所を別々に見ます。メール設定の不具合とは切り分けると、問い合わせを止める時間を短くできます。

1. フォームタブで「必須」の指定と入力名を確認する

Contact Form 7では、フォームタブに置いたタグが入力欄の仕様です。必須項目はタグにアスタリスクが付く形式で作られます。編集画面でタグを増やしたりコピーしたあとに、ラベルだけを変えてタグ名を取り違えると、利用者には別の欄が必須に見えることがあります。

  • 必須にしたい欄のタグに必須指定があるか
  • 同じタグ名を別の入力欄で重複して使っていないか
  • ラベルの説明と、実際に必須になっている欄が一致しているか

ここではメールタブを先に触りません。通知メールが届かない問題は、Contact Form 7のメール設定を確認する記事で別に切り分けています。

2. 公開ページで、どの欄にエラーが出ているかを確認する

管理画面のフォームが正しくても、公開中のページには古いショートコードや別フォームが残っている場合があります。シークレットウィンドウなどログイン状態に左右されにくい画面で、空欄のまま送信し、どの項目の近くにエラーが出るかを確認します。

エラー文だけで判断せず、フォーム内の各欄と照らします。「同意チェック」「選択肢」「電話番号」のように一見入力済みに見えにくい項目も、一度選び直してください。送信完了後の自動返信が届かないときは、自動返信メールの確認記事を続けて参照すると原因を分けられます。

3. キャッシュを消して、変更後のフォームで再確認する

フォームを更新しても、ブラウザ・キャッシュプラグイン・配信側のキャッシュに古いHTMLが残ると、管理画面の内容と公開画面が一致しません。変更内容を控えたうえで、サイト側のキャッシュを削除し、別の端末またはシークレットウィンドウで再度送信します。

このとき、複数の設定を同時に変えないのが大切です。フォームタグを直した直後にメール設定まで変えると、どの変更で改善したのか追えなくなります。

それでも直らないときの見方

特定のフォームだけで起きるなら、そのフォームのタグ・ショートコード・キャッシュを優先します。すべてのフォームで起きるなら、テーマや最適化機能が入力欄の表示を変えていないかを確認します。問い合わせ自体は送れているのに通知だけが届かない場合は、迷惑メールも含めてWordPressの通知メール確認へ進みます。

まとめ

必須項目の不具合は、送信ボタンより先にフォームタグ、公開画面、キャッシュの順で見ると整理できます。管理画面だけで完結させず、実際の問い合わせページで一度送信を試してから次の設定へ進みましょう。

近いカテゴリ