プラグインのContact7で「完了、送信、AJAX」ができないときの解決法
今回ハマったのは自作でテーマを作っていたサイトで起こりました。 自分としては「突然Contact7が動かなくなった!」と思いましたが、そんなわけないです。
検索してみても、なかなかそんな人がおらず解決法がなく困っていたのですが、開発者さんのサイトですべて解決しました。とてつもなく根本的なことでした。。。
どうして私のコンタクトフォームは AJAX っぽく動かないのか?
JavaScript のファイルがロードされていない これは近頃もっともよく見られる原因です。これは、JavaScript をキューに入れるのに必要な関数呼び出しが抜けている、間違ったテンプレートを使っているせいで発生します。必要な関数とは wp_head() と wp_footer() で、大抵の正常なテーマではこれらはそれぞれ header.php と footer.php に見られるはずです。
一言で言えば、「wp_head() と wp_footer() がない」
wp_head()はhead内の終了タグの直前に。wp_footer() はbodyの終了タグ直前に書いておけばいいです。
自作でテーマを用意したさいに消去法でいらなそうなタグを自分で調べもせずに削除していました。つまり、原因は恥ずかしながら「ちゃんとWordPressを理解していなかった」ことでした。 WordPressはプラグインが充実していて、インストールをして有効化し、設定すれば動くものと考えがちですが、それは基礎の土台ができていてこそ。
これは近頃もっともよく見られる原因です。
ぐぬぬ…反省。ということですので、他にもいそうで晒しておきます。