リンク先のソーシャルサービス数を取得する関数作った(Wordpress)

僕はブログを読むのが大好きで、いろんなブログを読みまくってます。

ブログを読むときは、はてブTwitterRSSリーダーのどれかを経由することがほとんどですが、

そのページに貼られている参考リンクまで読まないことに気づきました。

読まない理由は、そのリンク先がどれだけソーシャルで賑わっているかわからないからです。

はてブでホットエントリーにあがってる内容は、多くの人の目に触れて盛り上がってるのがブックマーク数から読み取れるので、とりあえず覗いてみようかなという気にはなるのですが、参考リンクとなるとソーシャルサービスで盛り上がってるかがわからないので、あまりクリックしません。

zenbackに標準でついてくれるとありがたいですねー。

というわけで、そういうソーシャルサービスの盛り上がりをリンク時に表示できたらいいなと思ったのでなんとなくで自作してみました。

WordPressプラグインとかでありそうですけど、調べてもブログにソーシャルサービスボタンの設置方法しか見つからなかったので、めんどくさくなって自作することを決意。

ここからコードの説明

WordPressのショートコードという仕組みを使って作りました。

@jim0912 ことまがりん先生にいろいろアドバイスもらいました。ありがとうございます!!

ペラペラなソースですけど、公開します。

リンク先のはてブ、ツイート数、いいね!数を表示します。

function.phpを編集

以下の内容をfunction.phpにコピペ。

[php]

// 記事のリンク先のソーシャルサービス取得関数

function socialsevicelink( $atts )

{

extract(shortcode_atts(array(

'url' => 'http://',

'title' => 'null'

), $atts));

// html

$html = "" . $title . "";

// hatena

$hatena = "\"\"";

// twitter

$get_twitter = 'http://urls.api.twitter.com/1/urls/count.json?url=' . $url;

$json = file_get_contents($get_twitter);

$json = json_decode($json);

$tweets = $json->{'count'};

// 画像データのパスは適当に設定してください

$twitter = "" . $tweets . "";

// facebook

$get_facebook = 'http://api.facebook.com/restserver.php?method=links.getStats&urls=' . $url;

$xml = file_get_contents($get_facebook);

$xml = simplexml_load_string($xml);

$likes = $xml->link_stat->like_count;//いいね!数。※シェア数ならshare_count

$facebook = "" . $likes . "";

$html = $html . $hatena . $twitter . $facebook;

return $html;

}

add_shortcode('ssl', 'socialsevicelink'); // 関数名短めにしたかったので、適当に短くしました。多分被ってないはず…

[/php]

投稿画面での使い方

[text]

ssl url='http://www.google.co.jp/' title='Google'

[/text]

これの前後を[]で囲ってください。

※Syntax Highlighter for wordpress使ってると、ショートコードを囲むとコードに展開されてまうからやむを得ずの処理…

urlに対象のリンク先と表示したいリンク名を入れるだけ。表示例は下のような感じ。

[ssl url='http://www.google.co.jp/' title='Google']

TwitterのアイコンとFacebookのアイコンはフリーのアイコン拾ってきました。

参考リンク

  1. [ssl url='http://webdesignrecipes.com/wordpress-customize-with-functions-php/' title='WordPress のよくあるカスタマイズコード functions.php 多め']
  2. [ssl url='http://kachibito.net/wordpress/add-my-functions.html' title='WordPressを使ったWebサイトでfunctions.phpによく書いてるやつ']
  3. [ssl url='http://coliss.com/articles/blog/wordpress/wordpress-shortcodes.html' title='WordPressのショートコードをマスターするチュートリアル']
  4. [ssl url='http://www.webopixel.net/wordpress/53.html' title='WordPressのショートコードを自作してみる']
  5. [ssl url='http://icondock.com/free/vector-social-media-icons' title='海外のフリーのアイコンDLサイト。こっからDLしてます']

独り言

書いたソース、公開するのって恥ずかしいな…

今週末、富士山登ってきますー