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

  • LINEで送る
  • このエントリーをはてなブックマークに追加