linkerは「人と人」「人と情報」「人と物」をつなぐデザインユニットです。

【自分用メモ】WordPressテンプレートに「Twitterへの投稿ボタン」を追加してみた。

20100730.jpg

火曜/金曜担当の@cremaです。

最近ようやく、個人的かつ日常的にWordPressのテンプレートを書くようになってきました。1mmぐらい進歩でしょうか。

で、今日は自分用メモとして、WordPressテンプレートに「Twitterへの投稿ボタン」を追加するコードを書いておきます。「こんな基本的なこと書いてばかじゃねーの!?」という声が聞こえてくる幻聴に悩まされますが、1人ぐらいに役立つこともあったらいいな、程度のノリで。

<p><a href="http://twitter.com/home?status=
linker%e5%a4%a7%e5%a5%bd%e3%81%8d%ef%bc%81+
<?php echo urlencode( the_title( "" , "" , 0 ) ); ?>+
<?php urlencode( the_permalink() ); ?>+%20%40linkerdesign">
この記事をTwitterに投稿する
</a></p>

見やすいようにテキトーに改行してますので、実際にお使いになる際には、1行に戻しちゃって結構だと思われます。

これがきちんと動くと、

<p><a href="http://twitter.com/home?status=(投稿させたい文字列をURLエンコードしたもの)+(記事タイトルをURLエンコードしたもの)+(記事のパーマリンク)+(@linkerdesignの@をURLエンコードしたもの)">この記事をTwitterに投稿する</a></p>

という風になる訳ですね。

そして、ちょっとだけ解説します。

このリンクを挿入したいのは個別の「投稿」なので、single.phpのどこかお好きな場所などに足せばいいのだと思いますが、そのあたりはよしなに。

「?status=」の後の「linker%e5%a4%a7%e5%a5%bd%e3%81%8d%ef%bc%81」は、ユーザーに投稿してほしい文字列をURLエンコードしたものを入れています。このサンプルコードによって出力されたテキストリンクをクリックすると「linker大好き!」という文字列になりますので、適当にお好きなものに変えてください。URLエンコード・デコードフォームなどを使うといいのではないでしょうか。

「<?php echo urlencode( the_title( "" , "" , 0 ) ); ?>」の部分で、記事タイトルをURLエンコードしたものを出力しています。

「<?php urlencode( the_permalink() ); ?>+%20%40linkerdesign">」の行で、記事のパーマリンク(URL)の後ろに「@linkerdesign」を入れております。ここにハッシュタグなどを入れても便利でしょう。よしなに。

ということで、自分用メモでした。もっとWordPressいじろう。誰か仲間いないかなー。

あと、もっとエレガントな書き方があったら、突っ込みくださいませ(他力本願)。