この実装、面倒なら代行します
会員サイトで、非会員にも会員にも同じ問い合わせフォームを使わせたいとします。
そのとき、当然ですが会員情報はサイト側で持っているわけなので、わざわざ会員ユーザに手入力してもらうまでもなく、フォームにはその情報が自動で入るようにするのが親切ですよね。
テーマのfunctions.phpに下記のように記述すると自動挿入できます。
function wpcf7_form_tag_filter($tag){ if(is_admin() || !is_array($tag)) return $tag; $name = $tag['name']; $user = wp_get_current_user(); if($user) { if($name == 'zip') { $tag['values'] = (array) $user->user_zip; } if($name == 'tel') { $tag['values'] = (array) $user->user_tel; } if($name == 'address1') { $tag['values'] = (array) $user->user_address1; } if($name == 'address2') { $tag['values'] = (array) $user->user_address2; } } return $tag; } add_filter('wpcf7_form_tag', 'wpcf7_form_tag_filter', 11);
”user_tel”とか”user_address1”とかは、ユーザのカスタムメタ情報です。
(そもそもカスタムメタ情報ってどうやって登録できるの?という方は、こちらを参照ください。
さて、話を戻して、
contact form 7のフォーム編集画面はこんな記述にします。
text your-name default:user_first_name text your-furigana default:user_last_name text zip default:user_zip id:zip text address1 default:user_address1 text address2 default:user_address2 tel tel default:user_tel
(各行[]で囲ってください)
※ ”user_first_name”と”user_last_name”はcontact form 7側であらかじめ定義されていて、それぞれログインしているWordPressユーザーのユーザーの名、ユーザーの姓をセットしてくれます。
これで完成!
WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!
100ウェブで手がけた制作・開発案件を一部、ご紹介。
クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について確認いただけます。
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
受付時間
平日 10:00~18:00
メールでのお問い合わせでも
1営業日以内にご連絡いたします。