「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]
以上で完了です、お疲れ様でした。
