MW WP Formで確認画面に進まずリロードされる原因と解決方法

公開日
最終更新日

MW WP Formで、送信ボタンを押しても確認画面に進まず、フォーム画面がただリロードされるだけ——原因が見えづらく、地味にハマるトラブルです。

結論から言うと、原因はいくつか考えられますが、見落としやすいのがバリデーションルールが、実際には存在しない項目を参照しているケースです。この記事では、確認画面に遷移しないときにチェックしたい原因と、実際に遭遇した事例の対処法を解説します。

症状:確認画面に進まずリロードされる

送信ボタンを押しても確認画面に切り替わらず、同じ入力画面が再読み込みされるだけ、という状態です。エラーメッセージが明確に出ないこともあり、どこが悪いのか分かりにくいのが厄介なところです。

まず確認したい原因

確認画面に遷移しない原因は状況によりさまざまですが、次のような点をひとつずつ確認していくと、切り分けがしやすくなります。

  • バリデーションルールが存在しない項目を参照している:必須などのルールを設定した項目を、フォームから削除していないか
  • 必須項目が未入力になっている:エラーで戻されているだけの可能性。入力漏れがないか
  • 他のプラグインの干渉:Akismetなどのプラグインが影響することがある。一時的に無効化して切り分ける

「他のプラグインが干渉している」というのはよく挙げられる原因のため、まず疑いがちです。ただ、プラグインを無効化しても直らない場合は、フォームの設定側に原因が潜んでいることが多いです。

今回の原因:削除した項目のバリデーションルールが残っていた

実際に遭遇したケースでは、プラグインを無効化しても症状が変わりませんでした。原因は単純で、必須項目に設定していた項目をフォームから削除したあと、バリデーションルールのほうを消し忘れていたことでした。

つまり、存在しない項目を必須項目としてバリデーションルールに残していた状態です。フォーム上には入力欄がないのに「その項目が未入力だ」と判定され続けるため、いつまでも確認画面に進めなかった、というわけです。

対処は簡単で、使わなくなった項目のバリデーションルールを削除するだけです。フォームの項目を削除したときは、対応するバリデーションルールもあわせて見直す——これを習慣にしておくと、この手のトラブルを防げます。

原因の切り分けには、まず「どの項目のバリデーションで止まっているか」を突き止めるのが近道です。フォームの設定画面でバリデーションルールの一覧を開き、そこに並んでいる項目名が、実際のフォームに存在する項目とすべて一致しているかを1つずつ照合してみてください。存在しない項目名が残っていれば、それが原因の可能性が高いです。

このほか、確認画面や完了画面のURL設定に誤りがある場合や、フォームの識別子(key)とショートコードが噛み合っていない場合にも、意図しない挙動になることがあります。あわせて確認しておくとよいでしょう。なお、MW WP Formは現在、開発・サポートが終了しています。既存サイトの保守では今回のような点検が役立ちますが、新規構築ではほかのフォームプラグインも検討するのがおすすめです。

まとめ

  • 確認画面に遷移しないときは、バリデーションルールと実際の項目が一致しているか確認する
  • 削除した項目のバリデーションルールが残っていると、遷移できなくなる
  • プラグインの干渉が疑われるときは、一時的に無効化して切り分ける

フォームの項目とバリデーションルールは、常にセットで管理するのが安全です。項目を削除・変更したときにルール側の見直しを忘れないようにするだけで、原因不明の「遷移しない」トラブルはぐっと減らせます。

IPPEI FUKUTA(株式会社バッズブルー 代表)

IPPEI FUKUTA(株式会社バッズブルー 代表)

WordPress専門のWeb制作者として15年・150サイト以上を担当。現場でつまずいた問題と解決策を、同じ制作者・フリーランスの方に向けて発信しています。無料のWeb便利ツール集「バドツール」を開発・運営中。