メールアドレスをエンティティ化する方法(WordPress)

ウェブサイトを制作する上で、サイト内に表示されるメールアドレスをエンティティ化することはデザイナー、コーダーの中では割と日常だと思います。

ただ実際にその際を制作している間はエンティティ化を忘れてしまってあとから直す、っていう人も多いはず!
今回その手間を少し楽にできないかと思ったので以下のことをやってみました。

まずは、以下をfunction.phpに記述します!
まるまるコピーする形で大丈夫だと思います。

WordPressには antispambot() という便利な関数があり、これを使用することで簡単にエンティティ化が可能になります。
それを利用してショートコードが使えるように設定していきます。

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');

下記のショートコードをメールアドレスを表示させたいところに記述します。
info@nakweb.comのところはもちろんご自分のメールアドレスを記述してくださいね!

[maillink mail="mailto:info@nakweb.com" text="info@nakweb.com"]

これをすることでページを開くたびに自動でエンティティ化されたものが表示されます。
毎度毎度生成されるので、エンティティ化のオンラインソフトを使用するより便利で安全だと思います。
少しでもメールアドレスを収集するBOTから守る為にもここは徹底してやっていきたいですね~。