ContactForm7でメール送信ができなくなった場合(ContactForm7 add confirmの修正)

ContactForm7でメール送信ができなくなった場合(ContactForm7 add confirmの修正)

ContactForm7でメール送信ができなくなった場合(ContactForm7 add confirmの修正)

ContactForm7で確認画面や送信完了ページが出なくなった場合は、確認画面プラグインのContact Form 7 add confirmに原因がある事が多いです。

Contact Form 7 add confirm側がバージョンアップされないので、頻繁にバージョンアップされるContactForm7との連携が取れなくなってきています。

プラグイン内script.jsの対象コード部分を変更する事で解決しますが、将来的な事を考慮して代替プラグインを探した方が良いです。

ContactForm7でメール送信ができなくなった

ContactForm7のお問い合わせフォームで、突然送信ができなくなる事があります。

必要事項は入力していますが、確認画面や送信完了ページが表示されない状態になるのです。

確認画面が出ない状態

本記事では、CotactForm7の確認画面プラグイン「Contact Form 7 add confirm」に修正を加える事でこの現象を解決します。

原因はContact Form 7 add confirm

この現象はContactForm7の確認画面プラグインである「Contact Form 7 add confirm」を入れている場合に起きやすいです。

ContactForm7側は、定期的なバージョンアップがされています。

それに対してContact Form 7 add confirmプラグイン側は、実はしばらくバージョン更新が止まっている状態なのです。

別のプラグインを検討するべき

そのため両者の連携が取れなくなってきている訳ですね。

ですので今後の事を考えると、別のプラグインを採用した方が良いと思われます。

今回の操作は応急措置ですので、改めて何かしらの代替手段を考えましょう。

プラグインへの修正

データ連携が取れなくなった

実はContactForm7側のバージョンアップで、DOMのプロパティが変更になりました。

これによりContactForm7のユニットタグが、Contact Form 7 add confirm側に渡らなくなっているのです。

ですのでデータが渡る様に、Contact Form 7 add confirmプラグイン側に変更を加えます。

script.jsの修正

Contact Form 7 add confirmプラグインを丸ごとダウンロードしてきましょう。

プラグインフォルダ構成から、include < js < script.jpを開きます。

そこでコードの一番下の付近にある下記の部分を以下の様に修正します。

script.js内の一番下付近

修正前

wpcf7c_step1(event.detail.id); : wpcf7c_step2(event.detail.id);

修正後(idをunitTagへ変更)

wpcf7c_step1(event.detail.unitTag); : wpcf7c_step2(event.detail.unitTag);

修正後のコード

このscript.jpを上書きアップロードすれば修正完了です。

jsファイルのキャッシュをクリアする

これからテストとなる訳ですが、そのためには修正したscript.jpが正常に読み込まれる必要があります。

ですのでキャッシュをクリアするなど事前準備が必要です。

強制更新する方法

jsファイルを更新する方法は主に2つです。

Shift+F5で強制更新

一つは読み込みされるjsファイルを更新するため、Shift+F5を押して強制更新する方法です。

お問い合わせ送信を実施テストをする前に実行しましょう。

読込ファイルにパラメータをつける

もう一つはjsファイル名にパラメータをつける方法です。

プラグイン内TOPにあるcontact-form-7-confirm.phpで、以下の記述部分を探します。

contact-form-7-confirm.phpのコード内

define(‘WPCF7C_VERSION’,‘5.1’);

上記の5.1のところを「5.1-20230502」などに変更しましょう。

define(‘WPCF7C_VERSION’,‘5.1-20230502’);

するとキャッシュが更新されますので、最新のjsファイルを読込してくれます。

まとめ:代替手段を講じて下さい

これでテストをすれば、きちんと確認画面・送信完了画面が表示されるはずです。

送信完了ページへ飛ばす事

ただし今回の措置でも、「送信しました」の通常ガイダンスは出ないかも知れません。

ですが本来このプラグインは、確認画面や送信完了画面を別途表示するのがセオリーです。

ですので送信完了ページを準備して、そこに飛ばすようにしましょう。

別プラグインを探す事

Contact Form 7 add confirmは、これからもバージョンアップがされない可能性があります。

そうなると今後、今回の措置程度では済まないエラーが起きる可能性もあります。

その上で別のプラグインなどを使って確認画面・送信完了ページを準備した方が良いと思います。

この記事をシェアする

一押し人気コーナー紹介

Wordpressテーマカスタマイズ系記事