WordPressでメールアドレスをエンティティ化する方法
メールアドレス収集プログラム(Bot)から少しでもメールアドレスを守るため、
メールアドレスをエンティティ化してみたいと思います。
今のBotは優秀らしいので気休めかもしれませんが。。
手順1
WordPressには antispambot() という便利な関数があり簡単にエンティティ化してくます。
それを使用し、WordPressのエディタから挿入できるように、
ショートコードを作成してみたいと思います。
まずは、下記コードを functions.php に追記します。
1 2 3 4 5 6 7 8 9 10 11 | // エンティティ化 function antispambot_short($atts) { extract(shortcode_atts(array( 'mail' => '', 'text' => '', ), $atts)); $mail = antispambot($mail); $text= antispambot($text); return '<a href="' .$mail . '">' .$text .'</a>'; } add_shortcode('maillink', 'antispambot_short'); |
手順2
投稿エディターに下記を記述します。
1 | [maillink mail="mailto:example@example.com" text="example@example.com"] |
エンティティ化されたHTMLソースは、
常に固定ではなく、表示される度に生成されているので安心ですね。
↓ ↓ ↓
動作環境: WordPress 3.3.2
参考サイト: http://kachibito.net/wp-code/entity-mailto-link-with-shortcode