MW WP Form で adminメールにIPを付加
グーグル先生で探したけど、みんな肝心なところを教えてくれない。
おい、それじゃフォームごとに関数必要でめんどくさすぎて意味ねーだろ。
そんなに難しいことなのかと思って調べたら、あっさりできたりしたんだが・・・
ちなみに私はWP歴1ヶ月未満、PHPなんてズブのど素人だぞ。
上記サイトの管理人はWEB業界の人みたいだけど、その業界の人はその道のプロだろ?
そのプロが分からないことを素人が簡単にできちゃうてなんかオカシクナイカ?
(本当のプロだったら)そんなことは世の中には無いと思ってるんだな私は。
だってプロってそういうものでしょ?
無知な人でもわかりやすく簡単に理解できるように教えてくれるんでしょ?
(え?違うの?)
だからね、何が言いたいのかというと、
このような人たちは、簡単なことなのに知ってることを教えてくれないってことなのかと思ってしまうだよね。
私は性格が良くないから。
まあ、あんまりほざいてると「人に聞かないで自分で何とかしろ(怒)」となる人がいるので、この辺で口をチャックすることにするよ。
* mwform_admin_mail add ip
*/
add_filter( 'mwform_admin_mail_mw-wp-form-***', 'my_admin_mail' );
function my_admin_mail( $Mail ) {
$Browser = $_SERVER["HTTP_USER_AGENT"];
$Ip = $_SERVER["REMOTE_ADDR"];
$Host = gethostbyaddr($Ip);
$Mail->body .= "\n\n--------------------\n【送信者情報】\n・ブラウザー:" .$Browser. "\n・送信元IPアドレス:" .$Ip. "\n・送信元ホスト名:" .$Host;
return $Mail;
}
$_SERVER["HTTP_USER_AGENT"] → 現在のリクエストに User-Agent: ヘッダが もしあればその内容。
$_SERVER["REMOTE_ADDR"] → 現在ページをみているユーザの IP アドレス。
gethostbyaddr($_SERVER["REMOTE_ADDR"] ) → gethostbyaddrはDNSに問い合わせてIPアドレスに対応するホスト名を調べる、逆引きを行ってくれる関数。
あとは$Mail->body .=でメール本文に情報をくっつけるだけの簡単なお仕事。
えーと、たったこれだけのことがだよ、
業界で仕事してWPのブログまでやっている人が、やりたいことができていないコードで20行以上も書いてあるんだから(しかも余計なエスケープまであったし)。
まあ、多いんだよな。
知ってることを出し惜しみする人って。
わたしは管理画面の方のメール本文と送信者情報をくっつけるやり方がわからなかったので、functions.phpにメール本文を設定しました。(もしかしたらそういう変数がありましたかね…)とか・・・
おい、それじゃフォームごとに関数必要でめんどくさすぎて意味ねーだろ。
そんなに難しいことなのかと思って調べたら、あっさりできたりしたんだが・・・
ちなみに私はWP歴1ヶ月未満、PHPなんてズブのど素人だぞ。
上記サイトの管理人はWEB業界の人みたいだけど、その業界の人はその道のプロだろ?
そのプロが分からないことを素人が簡単にできちゃうてなんかオカシクナイカ?
(本当のプロだったら)そんなことは世の中には無いと思ってるんだな私は。
だってプロってそういうものでしょ?
無知な人でもわかりやすく簡単に理解できるように教えてくれるんでしょ?
(え?違うの?)
だからね、何が言いたいのかというと、
このような人たちは、簡単なことなのに知ってることを教えてくれないってことなのかと思ってしまうだよね。
私は性格が良くないから。
まあ、あんまりほざいてると「人に聞かないで自分で何とかしろ(怒)」となる人がいるので、この辺で口をチャックすることにするよ。
MW WP Form で アドミンメールにブラウザ情報・IP・ホスト名を付加するコード
/*** mwform_admin_mail add ip
*/
add_filter( 'mwform_admin_mail_mw-wp-form-***', 'my_admin_mail' );
function my_admin_mail( $Mail ) {
$Browser = $_SERVER["HTTP_USER_AGENT"];
$Ip = $_SERVER["REMOTE_ADDR"];
$Host = gethostbyaddr($Ip);
$Mail->body .= "\n\n--------------------\n【送信者情報】\n・ブラウザー:" .$Browser. "\n・送信元IPアドレス:" .$Ip. "\n・送信元ホスト名:" .$Host;
return $Mail;
}
$_SERVER["HTTP_USER_AGENT"] → 現在のリクエストに User-Agent: ヘッダが もしあればその内容。
$_SERVER["REMOTE_ADDR"] → 現在ページをみているユーザの IP アドレス。
gethostbyaddr($_SERVER["REMOTE_ADDR"] ) → gethostbyaddrはDNSに問い合わせてIPアドレスに対応するホスト名を調べる、逆引きを行ってくれる関数。
あとは$Mail->body .=でメール本文に情報をくっつけるだけの簡単なお仕事。
えーと、たったこれだけのことがだよ、
業界で仕事してWPのブログまでやっている人が、やりたいことができていないコードで20行以上も書いてあるんだから(しかも余計なエスケープまであったし)。
まあ、多いんだよな。
知ってることを出し惜しみする人って。
作者でさえシカトするので分からない者には困ります。
返信削除大変参考になり助かりました。
ありがとうございます。