こんにちは。福岡のホームページ制作、シンス株式会社の越水です。
WordPressのブログ記事でTwitterアカウントを紹介する際に「@アカウント名」と書くことがあります。
せっかくなので、このTwitterアカウントへのリンク挿入も自動的にできれば便利ですよね。
今回はPHPの正規表現で「@アカウント名」を判別した時に、Twitterアカウントへのリンクを自動作成する方法をご紹介します。
functions.phpに次のコードを記述しましょう。
1 2 3 4 5 6 7 | function add_twitter_link($result) { $pattern= '/(?<=^|(?<=[^a-zA-Z0-9-_\.]))@([A-Za-z]+[A-Za-z0-9_]+)/i'; $replace= '<a href="http://www.twitter.com/$1" target="_blank">@$1</a>'; $result= preg_replace($pattern, $replace, $result); return $result; } add_filter( "the_content", "add_twitter_link" ); |
それぞれのTwitterアカウントページのURLは「https://twitter.com/アカウント名」になっています。
上記のコードは、このルールを利用して記事内に「@アカウント名」の文字列を見つけた際にTwitterアカウントページへのリンクを作るようにしています。
このコードを使うとわざわざリンク設定を行わなくても、次のようにTwitterアカウントへのリンクが作成されます。
シンス株式会社のTwitterアカウントは@idotdesignです。
↑こちらのようにTwitterアイコンを添えたい場合は、Font AwesomeやIcoMoonなどのWebフォントを利用してコードを変更してみてください。
シンス株式会社で実際に使っているPHPコードを貼っておきます。
Webフォントを使用するときは関連ファイルのアップロード、HTMLやCSSでの読み込みを忘れないようにしてください。
1 2 3 4 5 6 7 | function add_twitter_link($result) { $pattern= '/(?<=^|(?<=[^a-zA-Z0-9-_\.]))@([A-Za-z]+[A-Za-z0-9_]+)/i'; $replace= '<a href="http://www.twitter.com/$1" target="_blank"><i class="fa fa-twitter" aria-hidden="true" style="color: #55ACEE;font-size:1.2em;"></i>@$1</a>'; $result= preg_replace($pattern, $replace, $result); return $result; } add_filter( "the_content", "add_twitter_link" ); |
短縮できるのはわずかな手間ですが、こうして小さな積み重ねを省力化していくことが長くブログを続けるコツかもしれません。
ぜひお試しください!
スマホ・タブレットにも対応したホームページの制作ならシンス株式会社まで。













