Contact Form 7でホスト名、ブラウザ情報を取得する方法

WordPressで定番のプラグイン「Contact Form 7」。このプラグインを使うと簡単にお問い合わせ(コンタクト)フォームを作成できます。

しかし、そのままではコンタクトフォームから送信してきた人のホスト名やブラウザ情報が取得・通知されません。以下の方法で簡単に取得・通知ができますのでご紹介します。

1. ホスト名・ブラウザ情報を取得

以下はホスト名・ブラウザ情報を取得するソースコードです。使用しているテーマのfunction.php(外観→テーマの編集)に挿入して下さい。

function.phpは少しでも構文を間違えると画面が真っ白(エラー)になり、ダッシュボードにアクセスできなくなることがありますので、必ずバックアップを取ってから編集して下さい。万が一、画面が真っ白になった場合は使用しているサーバーのファイルマネージャやFTPソフトでfunction.phpを開いて編集前の状態に戻して下さい。
/* Contact-form-7 plugins - Customize Filters - ホスト名取得 */
add_filter('wpcf7_special_mail_tags', 'wpcf7_special_mail_tag_for_remote_host',10,2);

function wpcf7_special_mail_tag_for_remote_host($output, $name)
{
	// Special [wpcf7.remote_host] tag
	if(!isset($re_addr)){ $re_addr = $_SERVER['REMOTE_ADDR']; }
	if('wpcf7.remote_host' == $name){ $output = gethostbyaddr($re_addr); }
	return $output;
}

/* Contact-form-7 plugins - Customize Filters - ブラウザ情報取得 */
add_filter('wpcf7_special_mail_tags', 'wpcf7_special_mail_tag_for_remote_ua',10,2);

function wpcf7_special_mail_tag_for_remote_ua($output, $name)
{
	// Special [wpcf7.remote_ua] tag
	if(!isset($u_agent)){ $u_agent = $_SERVER['HTTP_USER_AGENT']; }
	if('wpcf7.remote_ua' == $name){ $output = $u_agent; }
	return $output;
}

2. 取得した情報をメールに通知

「お問い合わせ」→「コンタクトフォーム」→「編集」から通知したいコンタクトフォームを開いて下さい。「メール」タブの「メッセージ本文」に以下のソースを挿入して下さい。

送信者情報:
ホスト名:[wpcf7.remote_host] (IP:[_remote_ip])
ブラウザ:[wpcf7.remote_ua]

これでコンタクトフォームから送信した人のホスト名、ブラウザ情報を取得し、通知されるようになります。

コメントを残す

メールアドレスが公開されることはありません。

ABOUTこの記事をかいた人

同性愛者。対人恐怖症・視線恐怖症あり。引きこもりニートから個人事業主になりました。主にアフィリエイトが収入源です。毎年きちんと納税していますが、まだ一人で生活できるほどは稼げていないので、一人暮らしできるほど稼いで自立・成長するのが目標です。