この実装、面倒なら代行します
以前の事例で
GET値をContact Form 7に渡してフォームに埋め込む
GET値を contact form 7 に渡してプルダウン項目を選択状態(selected)にする
を掲載しました。
続きまして、今回はチェックボックスを制御してみます。
Contact Form 7はチェックボックスのデフォルトチェックをこのように表現します。
default:1_2_3
これで、チェックボックスの最初から1つ目、2つ目、3つ目をチェック状態にすることを表します。
これが分かればあとは簡単です。
テーマのfunctions.phpに次のように記述します。
function kaiza_form_check_filter($tag) { $formName = 'checkbox_name'; //contact form 7で設定するチェックボックス名 if ( ! is_array( $tag ) ) return $tag; if( isset($_GET[$formName]) ) { $name = $tag['name']; if( $name === $formName ) { if( is_array( $tag['values'] ) ) { $index = $_GET[$formName]; if( $index !== false ) { $tag['options'][] = 'default:' . $index; } } } } return $tag; } add_filter( 'wpcf7_form_tag', 'kaiza_form_check_filter', 11, 2);
これで準備完了です。
あとは、問い合わせページへのリンクをこのように記述すれば、チェックボックスcheckbox_nameの1番目、3番目、5番目にチェックが入った状態の問い合わせフォームになります。
<a href="/contact/?checkbox_name=1_3_5">担当施設に問い合わせる</a>
WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!
100ウェブで手がけた制作・開発案件を一部、ご紹介。
クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について確認いただけます。
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
受付時間
平日 10:00~18:00
メールでのお問い合わせでも
1営業日以内にご連絡いたします。