Contact Form 7 v5.4 と Invisible reCaptcha for WordPress プラグインを使ってると送信完了のメッセージが表示されない

May 20, 2021

タイトルの通り Contact Form 7 v5.4 と Invisible reCaptcha for WordPress という reCAPTCHA v3 をサイトに導入するためのプラグインを使っていると「送信完了」のメッセージが表示されない場合があります。

Invisible reCaptcha for WordPress プラグインはお問い合わせフォームがあるページだけ reCAPTCHA 対応することができるのでとても便利なプラグインなのですが、最近はメンテナンスされていないようなので対応に期待できないかもしれません。フォーラムにもいくつか同じ現象の報告がされています。

Contact Form 7 公式の reCAPTCHA 連携を使うのが一番良さそうですが、こちらは全ページに reCAPTCHA バッジが表示されてしまうので、それがいやであれば非表示にする対応を何かしらやる必要があります。

あとは応急処置にはなりますが、Contact Form 7 を一旦 v5.3.2 に戻すと動作します。

「表示されない場合がある」と書いたのは Contact Form 7 の AJAX モードを使っている場合で、そうでない場合は問題なさそうです。

送信が完了した後に UI を表示させたい時に使う wpcf7mailsent などの Contact Form 7 の DOM イベントは AJAX モードでないと動作しないと Contact Form 7 の FAQ でも書かれているので、Invisible reCaptcha for WordPress のエラーの影響で AJAX モードが動作しなくなり(非 AJAX モード)、そのせいで DOM イベントが動作しなくなるというのが原因だと推測されます。

とりあえず Invisible reCaptcha for WordPress が対応してくれることを祈ってます。


Profile picture

Johnny Okafuji
フロントエンドエンジニア / ビートルズバンド Crescendo Four のジョン・レノン担当。/ Love Darts🎯 / 独学でコーチング勉強中 / コーチング関係の記事は note に書いてます。
Twitter: @johnykei
note: https://note.com/johnykei

© 2021 All rights reserved.