メールアドレスを隠しつつmailtoのリンクを記述する(メールアドレス暗号化):wordpress
 2012.10.04

wordpressの記事中にmailtoのリンクを隠し(暗号化)ながら記述する方法。※プラグインは使わない
  1. 以下のphpコードをfunctions.php に追加する。
    functions.phpに追加するphpコード
  2. 記事で [mail_obfuscate]ショートタグを使う。 [sourcecode light="1"] [mail_obfuscate email="webmaster@example.com"]メールはこちら[/mail_obfuscate] [/sourcecode]
  3. ショートコードがレンダリングされると以下のhtmlコード断片が出力される。 [sourcecode lang="html"] <a id="mailto-fd36793783c3c9f452dc56abd25cfe3d">メールはこちら</a><script type="text/javascript">// <![CDATA[ mailto_obfuscate('mailto-fd36793783c3c9f452dc56abd25cfe3d', '7kkJR1QKUiRy9kK', '.7QXuLH0Ok8SjhdysblAMETm4c@p5vV3qiNZzWKC9JUnwxYeI6faBtD2PFoG1rRg' ); // ]]></script> [/sourcecode]
  4. htmlコード上にはemailアドレスは出力されないが、aタグ直後のjavascriptコードでaタグのhref属性がmailto:webmaster@example.com に設定される。
  5.  [mail_obfuscate]ショートコードのパラメータは以下の通り。
    • email   メールアドレスの指定(必須)
    • css_class aタグのclass属性を指定(オプション)
    • ショートコードのコンテンツはそのままaタグのコンテンツに使用される。<img>タグも記述可能
    • ショートコードのコンテンツが空の場合はemail属性の値が使用される。
* 2013/02/21 追記:functions.php に挿入するコードのバグを修正。メールアドレスに以下の文字列が含まれた場合の不具合を修正した。 [sourcecode light="1"] !#$%&*+-/=?^_{|}~ [/sourcecode]
カテゴリー:技術情報メモ