WordPressでエントリにtwitterボタンをちゃんと置いてみた

ブログのエントリのヘッダ部分にあるtwitterのアイコンは今までやっつけでつくったものでクリックするとただエントリのURLがtwitterの投稿画面に出るだけだった。最初つくったときはこれで十分だと思っていたが最近のいろんなサイトのtwitterボタンでは「タイトル URL @screename さんから」のような形式で投稿できるものが多く、実際に自分が使ったときにエントリのタイトルが出ないようでは読む人が困るとtweetをためらったので自分のサイトも直さないとイカンと思った。

twitterボタンを配置するには

いろんなサイトが似たようなことをやっているのでおそらく何か仕様があるはずだと調べてみたところ以下のページで発見した。
https://dev.twitter.com/docs/tweet-button

twiterボタンの配置には3つの方法があり、推奨はjavascriptを使う方法だけど、今回は「Build Your Own Tweet Button」の簡単に使える https://twitter.com/share URL.
を使って自分で好きなanchorタグを入れる形をとる。「タイトル URL @screename さんから」をつくるにはshare?url=xxx&text=xxx&via=xxx のようなURLを指定すればよい。クエリーに使えるパラメータは以下のようなものがある。

url ページのURL
via twitterのscreename
text デフォルトテキスト
related 関係のあるアカウント、この人フォローしますかと提案されたりする
count tweet数ボックスの位置
lang tweetボタンの言語
counturl URL to which your shared URL resolves。よくわからん
hashtags ハッシュタグ、カンマで区切れる
size ボタンのサイズ

幾つかはjavascriptでtweet buttonを作るときに使うものなので自前でanchorタグを作る場合は、count、lang、sizeとかは無視してよいと思われる。今回はWordPressでエントリのURLやタイトルを使うために以下のように実装した。

<?php
$title = get_the_title();
$permalink = get_permalink();
$twitter = 'makoto_kw';
?>
<a class="twitter" href="https://twitter.com/share?url=<?php echo urlencode($permalink)?>&text=<?php echo urlencode($title)?>&via=<?php echo $twitter?>" target="_blank" title="tweet">
<img src="twitter.png" width="12" height="12" alt="tweet"/>
</a>

Zenbackの機能は便利だけど、エントリ一覧ページでは表示していないので一欄ページから簡単にtweetするための簡易機能としてはこれで十分に思える。