Jetpackコンタクトフォームでメール送信後に指定のページへリダイレクト(複数フォーム対応)

Jetpackプラグインには、投稿や固定ページでボタンワンクリックで簡単にメールフォームが挿入できる「コンタクトフォーム機能」があります。

ページや記事の分だけメールフォームが設置できるという、とても便利な機能なんですが、今回はこのJetpackのコンタクトフォームで、メール送信完了したら「お問い合わせありがとうございました」のサンクスページへリダイレクトさせる方法について解説していきます。

Jetpackのコンタクトフォームで送信完了後にリダイレクトさせる仕組み

Jetpackにはgrunion_contact_form_redirect_urlという便利なフィルタが用意されています。

これをテーマファイルのfunctions.phpで使い、リダイレクト対象のメールフォームとサンクスページのURLを指定すれば、メール送信後に転送をかけることができるようになります。

If you want, you can redirect your readers to a specific page on your site after submitting the form. For example, readers could be redirected to a page where they can claim a prize after providing you with their contact information.

To create that redirection, we’ll use the grunion_contact_form_redirect_url filter:

(日本語訳)
必要に応じて、フォームを送信した後、読者をサイトの特定のページにリダイレクトできます。たとえば、読者は、連絡先情報を提供した後に賞品を請求できるページにリダイレクトできます。

そのリダイレクトを作成するには、grunion_contact_form_redirect_urlフィルターを使用します。

https://jetpack.com/support/contact-form/

具体的に、以下でその手順を紹介させていただきます。

Jetpackのコンタクトフォームでサンクスページにリダイレクトさせる手順

まずは以下の関連記事の手順で、Jetpackのコンタクトフォーム機能を有効にします。

Jetpackコンタクトフォームの設置から編集までの手順まとめ

2019年4月16日

Jetpackのコンタクトフォームが使えるようになれば、管理画面左メニューの「外観」>「テーマエディター」へ進み、
Jetpackコンタクトフォームでメール送信後に指定のページへリダイレクト(複数フォーム対応)

テーマのための関数(functions.php)を選んで、
Jetpackコンタクトフォームでメール送信後に指定のページへリダイレクト(複数フォーム対応)

以下の記述を追加します。

function jetpackcom_custom_form_redirect( $redirect, $id, $post_id ) {
    $redirects = array(
        '2' => home_url('thanks'),
        '1370' => home_url('post_lp/contact_form_thanks/'),
    );
    foreach ( $redirects as $origin => $destination ) {
        if ( $id == $origin ) {
            return $destination;
        }
    }
    return $redirect;
}
add_filter( 'grunion_contact_form_redirect_url', 'jetpackcom_custom_form_redirect', 10, 3 );
管理画面からファイルの編集ができない場合は、FTPでfunctions.phpの転送を行なってください。

・・・

上記コードのポイントは以下の3点です。

Jetpackのコンタクトフォームでサンクスページにリダイレクトさせるポイント
  1. 3行目の'2'はぺージIDです。これは、コンタクトフォームが設置されている固定ぺージや投稿記事のIDです。
  2. 同じく3行目のhome_url('thanks')が、送信完了後にリダイレクトさせるページのURLです。
  3. 4行目は、別のページ(ページID:1370)のメールフォームのリダイレクト先を指定しています。

上のポイントからもわかるように、コンタクトフォームを設置したページ(ID)分だけ、カンマ区切りでリダイレクト先を複数指定することができます。

お問い合わせフォーム、アンケートフォーム、資料請求フォームなどの複数のフォームがあって、それぞれ送信完了後のランディングページを分けたいという場合でも対応可能な、便利なカスタマイズです。

Contact Form 7の送信後リダイレクトとの違い

Contact Form 7のメールフォームで、送信完了後に指定のページにリダイレクトさせる方法は、このブログでも過去に紹介済みです。

WordPressのContact Form 7で送信完了画面を設置する方法

2019年1月26日

で、今回のJetpackのリダイレクトとの違いですが、Contact Form 7でやる方法は、Javascriptでのリダイレクトです。今はあまりないとは思いますが、javascriptの機能がOFFの環境だと、Contact Form 7のリダイレクトは機能しません。

メールフォームの機能自体が違うので、どちらが良い悪いということはないですが、

リダイレクトの仕方が異なるので、コンタクトフォームのプラグインを選ぶ基準の1つにしておくと良いかなと思います。


ボタンワンクリックでメールフォームが作成できるJetpackのコンタクトフォームは、今回紹介したような送信後リダイレクトの他にも、reCAPTCHAが使えたりするなど、カスタマイズ性にも優れています。

以下の関連記事でも、コンタクトフォームのカスタマイズ記事を紹介していますので、合わせて参考にしてもらえるとうれしいです★

JetpackのメールフォームでreCAPTCHAが使える「Jetpack reCaptcha」の設定方法まとめ

2019年5月8日

外部確認用URLで公開前の下書き記事をチェックできるPublic Post Previewプラグインの使い方

2019年3月22日

最後まで読んでいただき、ありがとうございました★

ブログを始めるならWordPressテーマSTORKがオススメ

理由は以下の記事でまとめています。

【STORK】有料テーマ購入を迷う人にストークをオススメする7つの理由2021年版

2019年6月1日

綺麗なデザインが最初から用意されているので、「ブログを書きたい」と思った時からすぐに始めることができます。しかも、執筆に便利なツールも一通りそろっているので、「書くことだけ」に集中できるという、ブロガーにとってはとても魅力的なテーマです。

是非STORKを試してみてくださいね★

関連記事

コメントを残す

ABOUTこの記事をかいた人

STORKのテーマやプラグインなど、WordPressを使ったアフィリエイトに関する記事を中心に紹介しています。そのほかにもMacやiPhone、HTML、CSS、Javascript、PHPなどの記事もちょこちょこ書いています★