TwitterやFacebookなどのシェア数を集計してWordPressテーマで表示する
シェアしてもらうとうれしい
ので、記事の頭にこんなかんじで記事合計を表示してます。
これがあると この記事がイケてる記事かどうかがパッとみてわかりやすかったりしますし、他の人がシェアしてるんなら自分もシェアしてあげよう!と思ってくれる方も出てくるかもしれませんよね。もちろん自己満足も多々ありますが。
参考サイト
こちらの記事のコードをほぼそのまま使わせてもらってますアザース
サンプルコード
functions.php
[php]
function counter($url, $comments){
//ツイート数取得
$get_twitter = ‘http://urls.api.twitter.com/1/urls/count.json?url=’ . $url;
$json = file_get_contents($get_twitter);
$json = json_decode($json);
$twitter = $json->{‘count’};
//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);
$facebook = $xml->link_stat->total_count; //いいね!のみ…like_count、shareのみ …share_count
//はてブ数取得
$get_hatebu = ‘http://api.b.st-hatena.com/entry.count?url=’ . $url;
$hatebu = file_get_contents($get_hatebu);
if($hatebu == ""){$hatebu = 0;}
//合計数
$reactions = $twitter + $facebook + $hatebu + $comments;
return $reactions;
}
[/php]
single.php
[php]
<?php
$snsCount = counter(get_permalink(), get_comments_number());
if ($snsCount == 0) :
?>
<p>
この記事はTwitterやFacebook、はてブなどなどでのシェア合計は<span>” <?php print("$snsCount"); ?> ”</span>回です… が!<br/>
良い内容だったら シェア第一号お願いします!~(=^・ω・^)ゞ<br/>
(シェアは記事下からポチっとできます)
</p>
<?php else : ?>
<p>
この記事はTwitterやFacebook、はてブなどなどで<br/>
合計 <span>” <?php print("$snsCount"); ?> ”</span>
回 シェアいただきました!あざッス(*´꒳`*)
</p>
<?php endif; ?>
[/php]
解説します
[php]
//合計数
$reactions = $twitter + $facebook + $hatebu + $comments;
return $reactions;
[/php]
ここでシェアしてもらった合計数を出してます。
この前までのコードは WordPressで記事のツイート・いいね!・はてブ数等を取得しよう | After Effector さんの記事のままです。あとはsingle.phpです。
[php]
$snsCount = counter(get_permalink(), get_comments_number());
[/php]
【変数 $snsCount】に、functions.php で取得した数値を代入してます。
[php]
if ($snsCount == 0) :
[/php]
このブログではシェア0件のときは別のメッセージが出るようにしてます。なのでここで分岐させます。
ちなみに0件の時はこんなかんじになります。
[php]
<?php print("$snsCount"); ?>
[/php]
シェアの合計の数字を表示したい箇所に記述します。
以上です! もしTwitterとかFacebookとかはてブとかごとに数字を出す場合は WordPressで記事のツイート・いいね!・はてブ数等を取得しよう | After Effector さんの記事を参考してください。