WordPressに関する情報や技術紹介です

Contact Form7 での送信後のページ移動について

相当前に「Contact Form7」が使いやすいと書きましたが、今でもヘビーユーザーとして利用しています。
ちょっとあまりにも更新頻度が早過ぎるのがある意味困るのですが…。

その中でちょっと困った事があり、フォーラムを調べていましたが、全然違う内容に目が行きました。

Contact Form7 のリダイレクトについて

contact form 7でリダイレクト

という内容なのですが、要するに送信後、別のページに行きたいという事だと思います。

Contact Form7 のリダイレクトについて

2010-02-11 追記:
Contact Form7のバージョンが2.0.1以降の場合だと簡単に設定ができます!
「その他の設定項目」で、

on_sent_ok: "window.location.href = '送信先URL';"

と入れて保存すれば、送信後に指定のURLへ飛ばす事が出来ます。

↓のように入力します。

うーん、どんどん便利になっていきますね。感謝です。

それ以前のバージョンは下の方法で解決できますが、バージョンが変わるごとに設定し直す手間がありますので、お勧めできません。

以前の記事をそのまま載せておきます。

Contact Form7 のリダイレクトについて

実は私もこれでちょっと悩みまして、送信後に「送信ありがとうございました!」というページに移動したいと考えていました。
もう少し具体的に言うと、あるサイトの作成時、google Analytics などでコンバージョンの設定をしなくてはならず「送信完了ページ」に移動する必要がありました。

Contact Form7 のリダイレクトについて

上記リンク先のフォーラムの方は高度な事をやっておられるのですが、私が解決した方法は以下の通りです。
「/contact-form-7/contact-form-7.js」を開いて以下の箇所に追加します(大体90行目あたり)。

if (1 == data.mailSent) {
		// メール完了ページのURLを追加
		window.location.href = "http://www.is-p.cc/send-end";
		jQuery(data.into).find('form').resetForm().clearForm();
		wpcf7ResponseOutput.addClass('wpcf7-mail-sent-ok');
		return;
	} else {
		wpcf7ResponseOutput.addClass('wpcf7-mail-sent-ng');
	}

これで一応送信完了後に別のページへ飛ぶことが出来ます。
恐らく「if(1 == data.mailSent)」が「メールが無事に送られた場合」という意味だと思うので、その中にjavascriptでページ移動すれば宜しいのでは、と思います。

Contact Form7 のリダイレクトについて

ただし移動するページは1箇所ですから例えば「お問い合わせ」と「ご注文」でも同じページに飛びます。
まぁ、そこに目をつぶれば一応リダイレクトされます。私は今のところ、これで解決しています。

タグ
, , ,
トラックバックURL

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

ページTOPに戻る