サポート » プラグイン » Contact Form 7アップデートでContact Form 7 add confirmが効かない

  • 解決済 memocco

    (@memocco)


    2月25日にContact Form 7の5.4がリリースされましたが、アップデートにより、Contact Form 7 add confirmが動かなくなりました(確認画面に遷移しない)。
    いったん5.3.2に戻したところ、不具合は解消されました。
    すべての方に起こる不具合か、知識不足で分からないのですが、まずはご報告いたします。
    以下、環境です。

    1. WordPress 5.6.2
    2. 自社テーマ
    3. PHP7.4

    情報が不足していたら申し訳ありません!

    • このトピックは6ヶ月、 1週前にTakayuki Miyoshiが編集しました。理由: 「バグ報告と提案」フォーラムからより適切なフォーラムへ移動
10件の返信を表示中 - 1 - 10件目 (全10件中)
  • こんにちは

    Contact Form 7 add confirm は 3年以上アップデートされていない、開発が終了していると思われるプラグインです。

    Contact Form 7 v5.4 に対応していないと思われますし、今後対応される予定も無いと思います。

    どうしても Contact Form 7 add confirm を使い続けたいのであれば Contact Form 7 のバージョンを戻すしかありません。
    しかしそうすると、セキュリティ対応も含めた Contact Form 7 のアップデートを行うことができなくなります。

    他のフォームのプラグインか、確認画面を追加する他のプラグインを使うことをお勧めします。

    私も同じ症状です、
    他のプラグイン探すしか無いのでしょうか…

    以前、「WordPress の更新にプラグインが追従しなかった場合の対処方法まとめ」という記事を書きましたが、
    https://ounziw.com/2013/05/14/wp-plugin/

    その機能をどうしても使う必要があるのか、そのための費用をどこまでかけるか、次第ですね。

    progressllccojp

    (@progressllccojp)

    DOMのプロパティが変更になったことでコンタクトフォームのユニットタグがContact Form 7 add confirmに渡らなくなったことが原因です。

    緊急対応としては、plugins\contact-form-7-add-confirm\includes\js\scripts.jsの最後の方にある

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

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

    に変更すれば動作することを確認していますが、あくまでもソースを見ての緊急対応ということで作者の方に確認を取っているわけではありません。

    bigbang823

    (@bigbang823)

    progressllccojpさん、情報ありがとうございます。

    wpcf7c_step1(event.detail.unitTag);

    wpcf7c_step2(event.detail.unitTag);

    こちらに修正してみたのですが、動作しませんでした。
    他にも修正する箇所がございますでしょうか?

    progressllccojp

    (@progressllccojp)

    bigbang823さん

    ブラウザのキャッシュにより修正前のJavaScriptで動作しているのだと思われます。
    キャッシュをクリアしてみてください。

    progressllccojp

    (@progressllccojp)

    追記です。

    plugins\contact-form-7-add-confirm\contact-form-7-confirm.php内の

    define( ‘WPCF7C_VERSION’, ‘5.1’ );

    の5.1のところを5.1-20210324等に変更すれば、キャッシュを更新して新しいJavaScriptを読んでくれるはずです。

    スレッド開始 memocco

    (@memocco)

    色々とアドバイスをいただいていましたのに、お返事もせずそのままの状態になってしまい、申し訳ございません!

    皆さま、アドバイスをくださりありがとうございます!!

    progressllccojpさんのアドバイスのとおり、
    Contact Form 7 add confirmのファイルを修正しましたところ、Contactfoam7が最新バージョン(5.4)で、Contact Form 7 add confirmを使用しても動作するようになりました。

    ただし、1点だけ、Contact Form 7 add confirmを有効にしている状態で、Contact Form 7 を最新版(5.4)にしていると、デフォルトで表示されるメッセージ(「送信しました」等)が表示されませんでした。

    こちらについては、munyaguさんや水野さんが仰るように、プラグインが古いので致し方ないとすることにします!
    お客様の要望によっては確認画面が必要な場合もあるので、他手段に切り替えていく等も検討したいと思います。

    こちらは解決済みとさせていただきます。
    ありがとうございました!

    progressllccojp

    (@progressllccojp)

    「送信しました」メッセージは、scripts.js内のwpcf7c_to_step1関数の最後に

    	// 確認ボタン挙動
    	parent.find(".wpcf7c-btn-confirm").on("click", function() {
    	  responseOutput.css("display", "");
    	});
    

    を追加すれば表示されるようになります。
    これは「戻る」で入力画面に一度でも戻ると「エラーがあります」等のメッセージも表示されなくなっていますので対応しておいた方がいいでしょう。

    ただ、送信完了については固定ページで送信完了ページを作成し、そちらに遷移させる方が良いように思えます。

    今回の一連の修正については弊社社員ブログにも記載しています。

    スレッド開始 memocco

    (@memocco)

    progressllccojpさん

    アドバイスありがとうございます!!

    > これは「戻る」で入力画面に一度でも戻ると「エラーがあります」等のメッセージも表示されなくなっていますので対応しておいた方がいいでしょう。

    上記を含め送信完了以外のメッセージはすべて表示されるようになりましたが、送信完了のメッセージのみ表示されませんでした・・・。

    > ただ、送信完了については固定ページで送信完了ページを作成し、そちらに遷移させる方が良いように思えます。

    そうですね!その通りだと思います!
    徐々に移行していきたいと思います。
    ありがとうございました!!

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • このトピックに返信するにはログインが必要です。