概要説明
Contact Form 7を使う際に動的な内容を初期値と設定したい時のカスタマイズ。特定のページからお問い合わせがあった際に初期値を設定しい場合に利用します。カスタムフィールドの値や任意の値をパラメーターを使わずに設定することも可能です。
~ 目次 ~
フォーム側の定義
[text your-name]
名前の入力項目を上記で定義している前提となります
getパラメーターを使用して初期値を設定する場合
[text your-name default:get]
/contact?your-name=山田太郎
default:get を指定するだけで$_GETパラメーターを初期値に設定ができます
変数や任意の値を初期値に設定したい場合
functions.php
/*---------------------------------------------------- Contact Form7 初期値設定 ----------------------------------------------------*/ if ( !function_exists( 'add_btn_meta_box' ) ){ function wpcf7_form_init( $tag ){ if ( ! is_array( $tag ) ){ return $tag; } // この部分で 固定値を設定しても $_GET で取得した値を設定することも可能 $your_name = '山田 太郎'; //テキストボックスの場合 if($tag['name'] == 'your-name'){ $tag['values'][] = $your_name; } return $tag; } add_filter('wpcf7_form_tag', 'wpcf7_form_init'); }
テキスト項目以外の項目の対応
functions.php
//テキストエリアの場合 if($tag['name'] == 'your-message'){ $tag['values'][] = preg_replace("/\^/", "\n", $your_message); } //ラジオボタンの場合 if($tag['name'] == 'your-radio'){ $tag['options'][] = "default:" . $your_radio; } //チェックボックスの場合 if($tag['name'] == 'your-check'){ $tag['options'][] = 'default:' . $your_check; }
非表示項目を追加したい場合 hidden
[hidden your-id default:"12345"] [hidden your-id default:get]