【MW WP Form】フォームが動かない、確認画面にいかない、原因は?

2021-09-08

MW WP Formとはホームページにフォームを設置できるプラグイン。
確認画面を作成できるのが人気のひとつですね。
よく利用しますが、先日設置したフォームが全く動かず…はまりました。

そこで、MW WP Formが動かない時のチェックポイントをまとめました。

このページでできること

  • ・「MW WP Form」で作成したフォームが動かない時の対応。

MW WP Formを設定したけど確認画面に遷移しない。そんなときの確認ポイント

入力画面でループして確認画面やエラーの表示に遷移しない💦
せっかく入力したのに確認画面を押すと、リロードされて消えてしまい、先に進まない💦

そんな時はこちらをチェックしてみてください。

wp_head();、wp_footer();のコードが抜けていないか



header.phpのheadの閉じタグの直前にwp_head();。
footer.phpのbodyの閉じタグの直前にはwp_footer();。

WordPressが自動で、この部分にサイトを動かすためのコードを入れてくれます。ソースコードを見るとたくさんの情報が表示されているのが分かりますね。プラグインを動かすcssやJavaScriptも。このコード、なかなか重要ですね。

入力画面、確認画面、完了画面のURLの記述が間違ってないか

このURL部分を全部消去して送信テストを行い、エラーがなければこの部分が怪しいです。

以前ここを直して動いたことがありました。なぜかスペースが入っていて、コピペしなおしたらいけました。

入力例
入力画面URL /contact/
確認画面URL /contact/confirm/
完了画面URL /complete/

最後の「/(スラッシュ)」が必要かどうかはパーマリンク設定を確認します。

URL 設定が間違っていない場合は、MW WP Form以外のリダイレクト設定を確認します。リダイレクトのプラグイン、.htaccessなどでリダイレクトを設定していて、そちらがMW WP Formのリダイレクトに影響していないかチェックします。

すべてのページにMW WP Formのショートコードが入っているか

「入力画面」「確認画面」「完了画面」。フォームで使用するすべてのページにMW WP Formのショートコードを入れます。
私は確認画面や完了画面の作成で表示を確認しながらcssを設定するときなど、ループしないようにショートコードを後で入れたりしています。それで最後に入れ忘れることも…。

name属性を変えてみる

name属性に使用できない単語があります。

カスタム投稿タイプのスラッグもNGのようなので、カスタム投稿タイプを使っている場合はチェックしましょう。

formタグが入っていないか

MW WP Formが入れてくれるformタグと重複するのでNGです。

セキュリティ系、キャッシュ系のプラグインと相性が悪い?

プラグインAkismetを使っていませんか?

Akismet をご使用の場合、何度も同じIPアドレスから送信を行うとスパム扱いされてしまい、確認画面に遷移しなくなることがあります。

 参考、引用元

MW WP Form FAQ

また、相性悪いとよく言われているのがキャッシュ系のプラグインですね。

自分は両方とも使っていなかったのですが、念のためMW WP Form以外のすべてのプラグインを停止して試しました。

結果、まだ動かず…。

サーバーを確認!共有SSLか否か

プラグイン停止しても解決せず、他のテーマで試すも不動…。
途方に暮れてプラグインのFAQサイトを見返したら、下記の内容がありました。

共有SSL下では正しく動作しません。

 参考、引用元

MW WP Form FAQ

もしかしたらこれかも…。自分のサイトではないので今のところ問い合わせ中です。
スッキリしないまま悔しいのですがひとまず保留となりました!何かわかったら追加していきたいと思います!

おわりに

サーバー会社に問い合わせましたが結局原因が不明なままで、残念ですが他のプラグインを使用することになりました。

プラグインを削除しても、そのプラグインのPHPがWordPressのプラグイン以外のフォルダに残っていて影響を与えていたことがあったので、そのような感じでどこかに相性の悪いPHPが残っているのかもしれません。いつかまたフォームが動かない状況になり、原因が不明な際は、真っ新なWordPressをインストールして、動作するかを試してみることにします。