WordPressでソーシャルボタンが1以上の時のみ数字を表示する

harada 135views 更新:2014年11月19日

WordPressで各ソーシャルメディアでのいいね!数やシェア数が1以上の時のみ数字を表示する方法です。

こちらの記事を全面的に参考にさせていただきました。
Twitter、Facebook、Google+、はてブのソーシャルカウント数をWordPressで直接取得する関数まとめ

functions.phpに下記のソースコードを追加します。

//ツイート数の取得
function get_twitter_tweet_count($url){
  $json = @file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url='.rawurlencode($url));
  $array = json_decode($json,true);
  if(!isset($array['count'])){
    $count = '';
  }else{
    $count = $array['count'];
  }
  return $count;
}

//いいね!数の取得
function get_facebook_like_count($url){
  $json = @file_get_contents('http://graph.facebook.com/?id='.rawurlencode($url));
  $array = json_decode($json,true);
  if(!isset($array['shares'])){
    $count = '';
  }else{
    $count = $array['shares'];
  }
  return $count;
}

//はてブ数の取得
function get_hatena_hatebu_count($url){
  $count = @file_get_contents('http://api.b.st-hatena.com/entry.count?url='.rawurlencode($url));
  if(!isset($count) || !$count){
    $count = '';
  }
  return $count;
}

出力

Facebook
<?php $facebook_like_count = get_facebook_like_count( get_the_permalink() );
    if($facebook_like_count) : echo " $facebook_like_count"; endif; ?>

Twitter
<?php $twitter_tweet_count = get_twitter_tweet_count( get_the_permalink() );
    if($twitter_tweet_count) : echo " $twitter_tweet_count"; endif; ?>

はてなブックマーク
<?php $hatena_hatebu_count = get_hatena_hatebu_count( get_the_permalink() );
    if($hatena_hatebu_count) : echo " $hatena_hatebu_count"; endif; ?>

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません