Contact form 7はとても便利なのですが、バージョンアップで結構トラブルが多いです。
最近また、Contact form 7がアップデートしていたのは知っていました。あまり騒ぎになっていなかったので動作確認していませんでした。
動作確認したら、このサイトのコンタクトフォームが動作していませんでした。
この記事では、Contact form 7とContact form 7 add confirmをCocoonで使用した時に動作しない問題の解決方法をまとめています。
Contact formの関連プラグインはJavascript圧縮と相性が悪い
私は、Contact form 7とContact form 7 add confirmを組み合わせてよく使います。
Contact form 7 add confirmは、Cocoonの高速化と相性が悪いです。
単純に『確認』、『戻って編集』が動かなくなるので実際に送信せずとも、すぐに気が付きました。
なので、Contact form 7 add confirmは、Cocoonの高速化オプションから除外して運用しておりました。
その時は、それでテストメールも届いて解決していました。
最近、Contact form 7のバージョンアップがあった
直近のリリース内容
Contact Form 7 5.2変更点(2020年7月4日リリース)
- フォーム送信:
$posted_data_hash
、$skip_spam_check
プロパティを導入。 - フォーム送信:
wpcf7_skip_spam_check
フィルターフックを導入。 - コンタクトフォーム:
pref()
メソッドを導入。 - REST API: パース済みのフォームタグデータをレスポンスに追加。
- REST API:
wpcf7_ajax_json_echo
、wpcf7_ajax_onload
フィルターフックを非推奨化し、それらの代用としてwpcf7_feedback_response
、wpcf7_refill_response
フィルターフックを導入。 - フロントエンド CSS: レスポンス出力のスタイルルールは
form
要素のclass
属性を参照する。 - フロントエンド JavaScript: jQuery イベントの使用を廃止。
- reCAPTCHA: スクリプトコードを独立したファイルに移動。
- reCAPTCHA: reCAPTCHA レスポンストークンのフィールド名を
g-recaptcha-response
から_wpcf7_recaptcha_response
に変更。
Contact Form 7 5.2.1変更点(2020年8月5日リリース)
- [contact-form-7 404 “Not Found”] のメッセージをローカライズ可能にする。
- REST API: 全てのエンドポイント定義に
permission_callback
引数を追加する。 - Flamingo: 可能であれば
id
の代わりにid()
を使用する。 - 修正済み:
exclusive
オプションとの併用時にfree_text
オプションが正しく機能しなかった問題。 $posted_data
が null の場合であってもwpcf7_mail_tag_replaced
フィルターを適用する。- クイズ項目のためのカスタムメールタグ置換を追加する。
- 管理画面: リストテーブルの日付カラムのフォーマットを更新する。
Contact form 7から送信できるけどメールが飛ばない
Contact form 7のバージョンアップの影響だと思いますが、最近テストメールを送信したら、送信完了にもかかわらず、メールが届かないことに気が付きました。
Cocoonの高速化からContact form 7と関連プラグインを除外することで、正常に動くようになりました。
指定する時は、ディレクトリ単位で大丈夫です。
plugins/contact-form-7-add-confirm/ plugins/contact-form-7/
AutoptimizeでContact form 7が動かない場合
Autoptimizeと使用していて、Contact form 7と周辺プラグインがどうしない場合は、以下の記事に対処方法が書かれています。
まとめ
Contact form 7のアップデートがあったときにはバージョンアップ後に必ず動作確認した方が良い。
それが面倒であれば、そもそもアップデートしないこと。