こんにちは。Yoshiです。
今日は、MW WP Formで送信完了画面がいきなり表示されてしまうことを解消する方法について、書いてみたいと思います。
※加筆・修正あり。正しい解決法について文末に追記しました。(2016年12月4日)
問い合わせフォームが最初から送信完了画面になる
先日、アドセンスの審査を受けるために、連絡先として問い合わせフォームを設置することにしました。
調べたところ『MW WP Form』というプラグインを使うのが簡単で確実そうだと思ったので、諸先輩方のサイトを参考に書かれているとおり設定・設置しました。
設置後、実際に何度か自分で送信・受信を確認し、フォームがきちんと動いていることが確認できましたので、そのままアドセンスの審査に申し込みました。
ところがその後、何気なく問い合わせフォームのページをクリックしてみると、いきなり送信完了画面が表示されるようになっていることに気づきました。
入力画面URL欄を空白にして問題解消回避
結果的には、入力画面URLの欄を空白にすることでリダイレクトループしなくなり、問い合わせフォームが正常に作動するようになりました。
正確には、フォームの送受信は出来ているのですが、確認画面が私の環境では表示されていません。現在、入力画面と送信完了画面のみで作動しています。
もっとも、これは最初からでもあり、表示されなくても現状では問題がないといえばないので、個人的にはひとまずこれでよしとしています。
※正しい解決法について文末に追記しました。
キャッシュのクリアや設定の見直しで解決することも
WordPressを使用していて分からないことや不具合があった時に、よく「キャッシュをクリアしたらなおるかも」とか、「キャッシュクリアをしたらなおった」と書かれているのを目にします。実際に、キャッシュのクリアや設定の見直しで解決することもよくあるようです。
私もそれで自分の抱えている問題が解決してくれることを期待しましたが、いくら設定を見直してもキャッシュをクリアしても、残念ながら改善して欲しいことは何一つ改善されませんでした。
もしかすると、私の場合は無料ブログからWordPressに引越しをし、そこからまた別のサーバーへ引越しをする、というようなことを繰り返したことが原因で、テーマ自体が少しおかしくなってしまっているのかもしれません。←ただの勘違いですw
ですが、もしMW WP Formに関して同じような症状でお悩みであれば、一度これらの方法を試してみる価値はあるかもしれません。
簡単さと難しさの両方の顔を持つWordPress。面白い反面、いじるのがちょっとこわかったりもしますが、これからもあれこれ試してみようと思います。
※正しい解決法について文末に追記しました。
追記:フォームの識別子を全てのページに入れることで問題解決!
2016年12月。半年ぶりぐらいにメールフォームの見直しを行い、入力画面・確認画面・完了画面のいずれも正しく表示されるように修正を施しました。
私の場合、どうやらフォームの識別子を関連する全てのページに入れていなかったことが、送信完了画面から抜け出せなくなる原因となっていたようでした。
フォームの識別子とは、MW WP Formでフォームを作成した際に生成されるコードのことで、このコードを固定ページに作成した『お問い合わせページ』や『送信(確認)画面』・『送信完了画面』に埋め込む(コピペする)ことによって、フォームが正しく機能するようになります。
MW WP Formのフォームの識別子 → (**には数字が入っています)
あるサイトに書かれていた通りにフォームを作成した結果、私はこのフォームの識別子を送信完了画面に入力していませんでした。(入力画面と確認画面に入力するように、としか書かれていなかったので)
ところが、実際にはMW WP Formで作成した『お問い合わせ』に関連するページにはすべてこの識別子を入れておく必要があったようです。そうしないと、入力した情報がいつまでもリセットされることなくそのまま残ってしまうのだとか。
また、MW WP FormのURL設定で『/』を最後尾に入れていない場合も、送信完了画面が固定されてしまうもうひとつの原因としてあげられているようです。
ちなみに、Contact Form 7というメールフォームでは、フォームの識別子と同じ意味でショートコードという言葉が使われていました。
ショートコードはまだ言葉として分かりやすいですが、識別子って・・・初心者にはものすごく分かりづらいです^^;
というわけで、相変わらず難しいけど面白いWordpressでした☆