@Anywhereを使わずにWordPress
で書かれた記事内のTwitterの
アカウントを自動リンク化する、
という方法。正規表現で置換
します。無駄なjsも読み込まな
いのでこちらの方が良いですね。
@Anywhereは楽ですけど、Twitterのアカウントをリンク化するためだけに使っているなら読み込むJSがロード時間を妨げる事の方がデメリットになるかもしれません。なので、@Anywhereをアカウントのリンク化のみに使っているなら、使わずに自動リンク化出来たほうがエコですね。
コード
functions.phpに以下を追記します。
function add_twitter_link($content) { $pattern= '/(?<=^|(?<=[^a-zA-Z0-9-_\.]))@([A-Za-z]+[A-Za-z0-9_]+)/i'; $replace= '@<a href="http://www.twitter.com/$1">$1</a>'; $content= preg_replace($pattern, $replace, $content); return $content; } add_filter( "the_content", "add_twitter_link" );
正規表現を使って@で始まる文字列を探してTwitterのアカウントへのリンクに置換します。@の前にも正規表現を使っているのは、メールアドレスだった場合の誤リンク化を防ぐためのものです。
実装テスト
うまくリンク化出来ました。メールアドレスはリンク化されません。
以下を参考にしました。