ContactForm7 で特定のページのフォームのみサンクスページを追加する方法

, ,

特定のフォームに入力があった場合のみ、送信後にサンクスページを表示する方法です。参考までに。(ベースはContactFormのサイトに記載の方法を参考にしています。2022/12/11時点)

はじめに

先に固定ページで転送先となるサンクスページを作成します。スラッグはここでは thanks にしています。

functions.php に追記する内容

特定のフォームが配置されているページを判定します。 functions.php に以下のような内容で追記します。一先ずサンプルとして、特定の固定ページに表示する場合の記述です。

/*-------------------------------------------*/
/* 特定の固定ページのみで実行
/*-------------------------------------------*/
function add_script_to_head() {
$html = <<<EOF
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
    location = '/thanks';
}, false );
</script>
EOF;
    if( is_page( '[ここにページID、スラッグ、タイトル]' ) ) {
		// ContactForm送信完了後、サンクスページに移動
		echo $html;
    }
}
add_action( 'wp_head', 'add_script_to_head' );

サンプル以外にも以下のような判定が可能です。

  • 固定ページで指定
    is_page( ‘[ここにページID、スラッグ、タイトル]’ )
  • 投稿で指定
    is_single( ‘[ここに投稿ID、スラッグ、タイトル]’ )
  • 投稿タイプで指定
    is_singular( ‘[ここにpost_type]’ )
  • トップページを判定
    is_home() || is_front_page()

自己紹介

松田 大と申しますm(_ _)m
インディーズでミュージシャンをやっていたのですがいつのまにか…

とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。

「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています。

現在勤めているETBS合同会社では、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。

現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。

コメントを残す

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