「Contact Form 7」にhiddenでログイン情報を送信する
WordPress(ワードプレス)のプラグイン「Contact Form 7」で作成したフォールメール・アンケートフォームにログイン者の情報(ユーザー名やメールアドレス等)を「input type=”hidden”」としてユーザーに見せずにメールで受け渡す方法です。
1.「Contact Form 7 module」をインストール
まずは、【Contact Form 7 module】をダウンロード。
これは、「Contact Form 7」でhiddenが使えるようになるプラグインです。
ダウンロードが完了したらファイルを解凍し、中身を [ plugins/contact-form-7/modules ] 内に追加でアップロードして下さい。
成功すると、フォーム編集画面のタグの作成に「Hidden fileld」が追加されています。
しかし、このタグ作成を使ったhiddenのコードでは、まだログイン情報をvalue値に入れることが出来ません。
2.「Functions.php」を編集
次に、 /plugins/contact-form-7/includes/functions.php を開いて、下記のソースを追記します。
場所は一番下でOKですが、PHPコード開始と終了のコード内に追記して下さい。
<?php
——— ここに追記———-
?>
以下、ソース。
function my_form_tag_filter($tag){ if ( ! is_array( $tag ) ) return $tag; $name = $tag['name']; if(is_user_logged_in()){ global $current_user; get_currentuserinfo(); if($name == 'hidden-login') $tag['values'] = (array) $current_user->user_login; else if($name == 'hidden-email') $tag['values'] = (array) $current_user->user_email; else if($name == 'hidden-first_name') $tag['values'] = (array) $current_user->user_firstname; else if($name == 'hidden-last_name') $tag['values'] = (array) $current_user->user_lastname; else if($name == 'hidden-user_id') $tag['values'] = (array) $current_user->ID; else if($name == 'hidden-display_name') $tag['values'] = (array) $current_user->display_name; } return $tag; } add_filter('wpcf7_form_tag', 'my_form_tag_filter', 11);
■変数の説明
hidden-login(user_login → ユーザーのログイン名
hidden-email(user_email) → ユーザーのメールアドレス
hidden-first_name(user_firstname) → ユーザーの名前
hidden-last_name(user_lastname) → ユーザーの姓
hidden-user_id(user_id) → ユーザーID
hidden-display_name(user_display_name) → ユーザーの表示名
3.フォーム画面にhiddenコードを適用させる
WordPress(ワードプレス)にログインして、「Contact Form 7」の編集画面にて、下記のように入力すればメールでログインしたユーザー情報がメールに記載されるようになります。
[hidden hidden-login]<br> [hidden hidden-email]<br> [hidden hidden-first_name]<br> [hidden hidden-last_name]<br>
ログイン名 [hidden-login] メールアドレス [hidden-email] 名前 [hidden-first_name] [hidden-last_name]
以上で完了です、お疲れ様でした。