@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のアカウントへのリンクに置換します。@の前にも正規表現を使っているのは、メールアドレスだった場合の誤リンク化を防ぐためのものです。
実装テスト
うまくリンク化出来ました。メールアドレスはリンク化されません。
以下を参考にしました。