弊社では最近、新規に制作するサイトではWordPressのフォームプラグインを「Contact Form 7」から「MW WP Form」に変更しました。
単体で機能が多いので他のプラグインに頼る必要がなく、「機能追加プラグインが古くなって使えない!」ということにならないのが決め手でした。
ですが、使い始めてまもないので不具合につまずくこともあるったのでその修正メモです。
調べてみると複数の要因があり、それ以外に自身で発見したパターンもあったのでまとめています。
問題
- 一度MW WP Formのバリデーションでエラーが出ると確認画面に進めない。
- 確認画面から入力画面に戻るボタンを押すと戻れず確認画面から戻ることも進むこともできなくなる。
- シークレットウインドウで開こうと、ブラウザを変えようと(Chrome)、キャッシュを削除しようと保存された入力内容が消えない&進めない状態のまま。
原因・解決法
原因1:WP Fastest Cache
入力内容がキャッシュされてしまいうまく動作しないパターンです。
このプラグインが原因で他の人の入力内容が見えてしまう場合が有るので必ずフォームのページは除外しましょう。
管理画面からフォームの関連ページを除外することで修正できます。
参考:【WordPress】MW WP Form 画面遷移しない原因は キャッシュだった
原因2:「wp_head()」や「wp_footer()」の入れ忘れ
自作テーマだけでなく配布テーマでも入っていない場合があるそうです。
headタグ内の最下部に「<?php wp_head(); ?>」、bodyタグの最下部に「<?php wp_footer(); ?>」を追加しましょう。
headとfoot””er””なのでくれぐれもスペルミスには気をつけましょう。
phpタグの省略形が原因になる場合もあるそうです。
参考:【WordPress】「MW WP Form」で確認画面に進まない時の原因と対処法
原因3:プラグイン「Akismet」との干渉
同じIPから何度も送信しているとスパム扱いされてしまうそうです。
これはテストで何度も送信しない限りは大丈夫だと思いますが、問題がある場合はプラグインや機能を無効にし、他のプラグインで対応などが必要になります。
公式FAQにも記載されているパターンなので多いかも
原因4:サ-バーキャッシュが有効になっている
こちらは弊社でも起こったパターンですが、サーバー備え付けのキャッシュ機能が原因になっている場合があります。
サーバーの動作速度にも関わって来る部分ですが正常に動作しなければ元も子もないのでOFFにしましょう。
Xserverの場合、サーバー管理・サーバーパネルの「サーバーキャッシュ設定」をオフにしましょう。
.htaccessからも確認でき、下記のような記述があれば有効になっています。
「SetEnvIf Request_URI ".*" Ngx_Cache_AllCacheMode」
この行を下記のように書き換えることでもオフにできます。
「SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode」
他のサーバーだとロリポップの「ロリポップ!アクセラレータ」やさくらサーバーの「コンテンツブースト」なども原因になりえると思われます。
参考:【Wordpress】本番環境のiOSでのみMW WP Formでメールがうまく届かない
原因5:.htaccess内のキャッシュ記述
今回自分が特定に一番時間がかかった部分です。
解決後、再現ができなくなってしまったので詳しい原因はわかっていないのですが、 「Cache-Control」
、「ExpiresByType ~」
、**[
あたりををまとめてコメントアウトすることで解決しました。
AddOutputFilterByType」
詳しい原因がわかれば追記しますがおそらくは 「html」
とか 「xhtml」
あたりがキャッシュされていることが原因だと思われます。
その他原因
- MW WP Formの投稿管理画面のコンテンツエリアに<form></form>タグが入っている
- ブラウザのキャッシュが残っている
- その他プラグインのキャッシュやセキュリティが原因(高速化・セキュリティ関連のプラグインは原因になる可能性有り)
参考:【WordPress】「MW WP Form」で確認画面に進まない時の原因と対処法
解決による新たな問題
ここまで読んで気づいた方も多いでしょうが原因の大半がキャッシュなのでこれらの機能を無効化することはサイトスピードに影響されることが予想されます。
「正常に動作しなければ元も子もない」とは言いましたがSEOに影響お及ぼしても良い訳がないのでキャシュによる影響も調査しようと思います。
■□■□■□■□■□■□■□■□■□■□
営業時間:平日9:00〜18:00
●福岡オフィス
〒810-0042
福岡市中央区赤坂1-12-6 赤坂Sビル2F
TEL:092-726-5550 FAX:092-726-5558
●宮崎出張所
〒880-0001
宮崎県宮崎市橘通西3-10-32
宮崎ナナイロ東館8FATOMica内
⇒ メールでのお問合せ
⇒ ホームページ制作実績
⇒ 会社案内
■□■□■□■□■□■□■□■□■□■□