WordPressのコンタクトフォーム「Contact Form 7」プラグインを5.4にアップデートすると、送信できない
Contact Form 7+Contact Form 7 add confirmで、お問い合わせフォームに確認画面を実装しているWordPressウェブサイトを運用している方は、これを読むと解決できるかもしれません。
不具合の状況
2021年3月ごろ、プラグインContact Form 7のVer5.4へのアップデート通知がありました。
これに従って、Ver5.3.xから5.4へアップデートすると、フォームから送信できない状態になりました。
必須チェックは正常動作しますが、確認画面のままで送信ボタンが表示されず、送信ができません。
送信できない原因
フォームに確認画面を表示させる「Contact Form 7 add confirm」プラグインを有効化していると、正常に動作しないことが確認されています。
※「Contact Form 7 add confirm」最新バージョン: 5.1でも動作しませんでした。
回避策1:アップデートを元に戻す(非推奨)
応急措置ですが、動作仕様を変更したくない場合は、Contact Form 7のバージョンをダウングレードして、正常に動作していた状態に戻して、対応できます。
プラグインのダウングレードをするには
「WP Rollback」というプラグインを使用して、プラグインを以前のバージョンに戻すことができます。
この「WP Rollback」というプラグインは、任意のプラグインごとに、どのバージョンにロールバックするか指定できます。
回避策2:Contact Form 7だけで、代替え機能を実装(オススメ)
「Contact Form 7 add confirm」プラグインは、3年間アップデートがありません。
WordPress公式からのアナウンスのとおり、長期間アップデートされていないプラグインを利用し続けることは、セキュリティ面で推奨されていません。
これを機に「Contact Form 7 add confirm」プラグインは停止・削除して、「Contact Form 7」プラグインの承認確認を実装しましょう。
確認画面がないと、入力途中の内容を誤って送信してしまう可能性もあるため、入力内容は十分に確認してほしいですよね。
入力する方に、しっかりと入力内容を確認していただくために、注意喚起として「入力内容を確認しました」チェックボックスを設置します。
承認確認の実装方法は簡単
Contact Form 7プラグインの機能で、フォームのテンプレートに承認確認を追加しましょう。
<label> 確認画面は表示されません。
[acceptance confirm] 入力内容を確認しました。[/acceptance]</label>
といったコードにしてみました。
「プライバシーポリシーに同意する」などでよく使用するものですね。
実装例は、以下からご覧いただけます。