Studio Happyvalley

MW‐WPFORM確認画面へ
移動しない
悩み解決

image: MW‐WPFORM確認画面へ移動しない悩み解決
Fix MW-WPForm Bugs

WordpressのプラグインMW-WPForm、
確認画面に移動しなくて問合せを送信できない

 | 2022/01/08

MW-wpformで送信エラー

wordpressで問い合わせフォームというとContact7とmw-wpformの二つがよく使われます。
私はカスタマイズのしやすさからmw-wpformを使ってます。
確認画面や完了画面、エラー画面などを設定できるので開発時にも非常に便利です。

ところが新しく添付ファイルを実装中に不具合に遭遇。
確認画面に遷移すると、一瞬画面が表示されて最初の入力画面に戻ってしまいます。
戻るというよりリセットですね。入力データを全て消えてしまいます。リダイレクトされてしまった感じです。
これはいかん!ということで原因究明。

しかし、調査はしたもののまったく原因わからず・・・しばらくほおって置いたんですが、似たような不具合、リダイレクトされてしまう不具合が別件のフォームを開発中に発生したことを思い出しました。
その時の不具合も今回と同じく確認ボタンを押しても確認画面へ遷移しないというものです。

難航中の不具合に光明が

その時は初歩的なミスでMW_WPFormのURL設定をやってなかったのが原因ですぐに対応できたんですが。
今回もよく考えると不具合の動作がまったく同じなんですね。それでこれはURL設定が問題なんじゃないかと思い当たったわけです。

通常はドメインは必要ないんですが、以前の不具合時には絶対パス入れて解決しました。
なので同じく絶対パスで入れてみました。

https://studio-happyvalley.com/wp/wp-content/uploads/589f697600861af23c0a64fda0e57ca2.png

そうしたら無事確認画面へ遷移しました。
なぜ相対パスだとだめなのかは不明です。サーバーによっては不具合でなかったりもしますが、ここは絶対パスで入れておく方が安心です。

その他の不具合原因

URLの記述以外でよくある不具合原因として、キャッシュがあります。
当サイトでは「WP-Optimize」をDB管理に使用していますが、キャッシュ制御にも使ってます。
このキャッシュ設定でスマホ専用設定があり、そこをONにしていると確認画面へ遷移しない不具合が起きます。
最初はデフォルトでキャッシュしないページURLに『/contact/』が設定してあるので気にしてませんでしたが、ここも同じく確認画面、完了画面など、それぞれのURLを記述する必要があります。

他にもMW_WPFormの問題としてjQueryがあります。2~3年前までは私もよく使ってましたが、もう今は使ってません。
しかし、MW_WPFormはjQueryを使ってます。なので問い合わせのページだけにjQueryが読み込まれるのがどうもすっきりしないんですよね・・・。

https://studio-happyvalley.com/wp/wp-content/uploads/c2d1abac150240e801d4b2946813bc27.png

根本的な原因が判明しました。

最初に絶対パスで記述し、不具合を解消したもののなぜ相対パスだと不具合が起きるか原因不明と書きましたが、判明しました。
結局、キャッシュが原因でした。
WP-Optimizeでキャッシュさせないページに、確認画面や完了画面などを絶対パスで設定したのでスマホでも不具合は解消しました。
そこでもしかしてと思い、MW-WPFormのそれぞれのページURL設定を相対パスに戻したところ、ナント不具合は発生しませんでした。
つまり、そもそもはキャッシュすべきでない問合せページをキャッシュしていたため不具合が起きていた。
ところが、最初の方法で解決できたのは、キャッシュの効いた相対パスじゃなくキャッシュされてない絶対パスでアクセスしたので不具合が起きなかったということですね。
本当の原因はMW-WPFormのURL設定ではなく、キャッシュの設定にあったということです。

問合せフォームはキャッシュしない

『MW‐WPFORM確認画面へ移動しない悩み解決』関連のお薦め

このページで紹介しているプログラムやビジュアルなどご依頼いただければ実装を賜ります。
お問い合わせはこちら

Permanent Exhibition