Contact Form 7 でエラー時用画面にリダイレクトする方法
Contact Form 7では、管理画面の、各フォームごとの編集画面の「その他の設定」に、
on_sent_ok: "window.location.href = 'リダイレクト先のURL';"
と入力すれば、Contact Form 7 の処理終了後に、設定したURLにリダイレクトしてくれます。
しかし、この設定をすると、成功しても失敗しても同じURLに遷移するため、送信が成功したか失敗したかわかりません。
画面遷移ではなく、メッセージの表示をさせる場合では、成功時と失敗時でメッセージが切り替えられており、その処理にはJavaScriptを使っているはずです。
そこで、Contact Form 7 のjsファイルを改変して、エラー時にエラー時用のリダイレクトURLへ遷移させることにします。
/pm_webform/wp-content/plugins/contact-form-7/includes/js scripts.js
67行目付近の以下の行
} else {
の下に以下の行を追加すると、失敗時用のリダイレクトURLへ遷移できます。
window.location.href = "失敗時用リダイレクトURL";
同様に、57行目付近の以下の行
} else if (1 == data.mailSent) {
の下に以下の行を追加すると、成功時用のリダイレクトURLへ遷移できます。
window.location.href = "成功時用リダイレクトURL";