テーマ内でPHPの変数に代入した値を、Contact Form 7で送信する方法をご紹介いたします。
若干の無理やり感はありますが、PHP+jQueryを使うので非常に柔軟な対応が可能です。
PHPの変数に入れた値をContact Form 7で送信する方法
例えば、「$test」に代入した値をフォームで送信する場合、テーマ内で以下のようなスクリプトを記述します。
<script> $(function(){ $(".wpcf7-form").prepend('<input type="hidden" name="example" value="<?php echo esc_html($test); ?>">'); }); </script>
Contact Form 7のフォームには、.wpcf7-formというクラスが付与されるので、そこにinput要素を挿入しています。上記ではhiddenにして隠していますが、textなどでもOKです。
Contact Form 7側の設定では、メールタブで [example] というタグを追加してあげましょう。[example]が$testに代入されている値に変換されて送信されます。
あとがき
Contact Form 7には、特別なメールタグが用意されていて、ページタイトルなど様々な情報を送信できる機能が標準で備わっていますが、上述した方法を使えば特別なメールタグで対応できないような値も送信することが可能です。
特殊な情報を送信したいときは、ぜひ参考にしていただければと思います。