Kaffee

【WordPress】Contact Form7でお問い合わせフォームの送信完了時にサンクスページ(完了画面)を表示させよう【プラグイン】

[ad_tag id="1828"]

コンタクトフォームで送信完了ページがないと困りませんか?

WordPressでホームページを作成していて、必ずと言って良いほど利用するのがContact Form 7。

自動返信やメッセージ編集など、便利な機能が揃っていて、非常に使いやすい定番プラグインですが、thanksページの表示機能がなく、フォーム画面上で送信完了のメッセージが表示されるのみというガッカリな面も。

テーマごとにthanksページのデザインも変わるし、これはこれで良いのかな?

でも、やっぱりthanksページは効果計測を考えると絶対欲しい!

そこで色々調べましたが、ページphpにスクリプトとして記述する方法や、fanction.phpに記述する方法は除外します。あくまでも有料、無料を問わず、テーマを活かしたサイト構築が当サイトのポリシーなのです。

そこで、今回はContact Form 7のフォームタブ内にjavaを記述する方法を採用します。

[ad_tag id="1832"]

方法

方法はいたって簡単。

  1. thanksページを作成
  2. Contact Form 7のフォームタブのメールフォーム設定の一番下に、以下のjavaスクリプトを記述
  3. メッセージタブの「メッセージが正常に送信された」欄のメッセージを変更

thanksページを作成

固定ページの新規作成でthanksページを作ります。

文章は「お問い合わせありがとうございます」や「○営業日以内に担当からご連絡いたします」など、状況に合わせて考えます。

あと、アクセス解析でわかりやすいように、スラッグ(URL)に「thanks」と入っていれば良いと思います。

スクリプトを記述

以下の記述をメールフォームの一番下に記述。 「http://example.com/thanks/」は、作成したthanksページのURLを記述します。

<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
location = 'http://example.com/thanks/';
}, false );
</script>

Wordfanceなどのファイヤーウォールプラグインを使用していると、保存するときに警告が表示されます。許可設定をして保存してください。

メッセージを変更

上記スクリプトが有効になると、フォームの送信ボタンをクリック後、thanksページに遷移する一瞬、正常に送信された時用のメッセージが表示されます。 かっこ悪いので空欄にするか、「送信中」などのメッセージに変えておきましょう。

以上で完了です。

[ad_tag id="1836"]

まとめ

いかがでしょうか?

Contact Form 7は非常に優れたフォーム制作プラグインですが、まるで実利主義の欧米人が書いたかのような、国産とは思えないデフォルトのサンプルメール。英語の直訳?と疑いたくなるような各メッセージなど、そのままでは商用利用に適さない部分が多々あります。

とは言え、無料で使える優良プラグインの開発者に、そこまで求めるのは利用者側の怠慢ですね。

機能的には過不足なく、非常に使いやすい優秀な定番プラグインなので、ちょっとした修正を加えながら、ほとんどのサイト制作で利用させてもらっています。

[ad_tag id="1839"]
[ad_tag id="1832"]