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