Как вывести количество упоминаний о посте в социальных сетях Facebook, Twitter и Google Plus

Как вывести количество упоминаний о посте в социальных сетях Facebook, Twitter и Google Plus | n-wp.ru Настройки
Пример функций, подсчитывающих и выводящих количество упоминаний о текущем посте в социальных сетях Facebook, Twitter и Google Plus.

О популярности поста может говорить не только количество его просмотров, но и количество упоминаний о нем в социальных сетях — различных лайков и плюсов, которыми сейчас так плотно удобрены современные блоги. Для некоторых то, сколько раз поделились ссылкой на пост в популярной социальной сети, является показателем ее качества, пробой на интересность, и это может подвигнуть их к его просмотру. Давайте посмотрим, как можно вывести количество упоминаний о посте в социальных сетях Facebook, Twitter и Google Plus, не прибегая для этого к помощи дополнительных плагинов.

Как вывести количество упоминаний о посте в социальных сетях Facebook, Twitter и Google Plus

Вывод количества +1 из Google Plus

Для подсчета количества +1, которых посетители поставили посту с помощью Google, вставьте в functions.php:

function get_plusones($url) {
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, "https://clients6.google.com/rpc");
  curl_setopt($curl, CURLOPT_POST, 1);
  curl_setopt($curl, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]');
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
  $curl_results = curl_exec ($curl);
  curl_close ($curl);
  $json = json_decode($curl_results, true);
  return intval( $json[0]['result']['metadata']['globalCounts']['count'] );
}

Для вывода количества плюсов используйте:


<!-- Google +1 -->



    <div class="google_plus_stat" title="Рекомендовали в Google+">
        
    </div>

Вывод количества Like из Facebook

Для подсчета того, сколько пользователей социальной сети Facebook, прочитав ваш пост, отметили его, кликнув по кнопке Like, вставьте в файл functions.php:

function get_likes($url) {
  $json_string = file_get_contents('http://graph.facebook.com/?ids=' . $url);
  $json = json_decode($json_string, true);
  return intval( $json[$url]['shares'] );
} 

Для вывода количества лайков Facebook, которыми отмечен пост, используйте:


<!-- Facebook Like -->



    <div class="facebook_stat" title="Рекомендовали в Facebook">
        
    </div>

Количество упоминаний в Twitter

Для подсчета того, сколько раз ссылку на пост отправляли в Twitter, вставьте в файл functions.php:

function get_tweets($url) {     
  $json_string = file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url=' . $url);
  $json = json_decode($json_string, true);
  return intval( $json['count'] );
}

Для вывода количества твиттов используйте:


<!--Twitter-->



    <div class="twitter_stat" title="Отправили в Twitter">
        
    </div>

Код целиком

Если вы хотите использовать все три эти функции, вставьте в файл functions.php используемой вами темы:

function get_plusones($url) {
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, "https://clients6.google.com/rpc");
  curl_setopt($curl, CURLOPT_POST, 1);
  curl_setopt($curl, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]');
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
  $curl_results = curl_exec ($curl);
  curl_close ($curl);
  $json = json_decode($curl_results, true);
  return intval( $json[0]['result']['metadata']['globalCounts']['count'] );
}

function get_likes($url) {
  $json_string = file_get_contents('http://graph.facebook.com/?ids=' . $url);
  $json = json_decode($json_string, true);
  return intval( $json[$url]['shares'] );
} 

function get_tweets($url) {     
  $json_string = file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url=' . $url);
  $json = json_decode($json_string, true);
  return intval( $json['count'] );
}

В каждом из выводов используется функция, возвращающая ссылку на текущий пост [code inline=»yes»] — если вы собираетесь выводить все три цифры, то функцию можно использовать один раз в самом начале:


<!-- Google +1 -->



    <div class="google_plus_stat" title="Рекомендовали в Google+">
        
    </div>

<!-- Facebook Like -->



    <div class="facebook_stat" title="Рекомендовали в Facebook">
        
    </div>

<!--Twitter-->



    <div class="twitter_stat" title="Отправили в Twitter">
        
    </div>

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

  1. JPriroda

    Очень спасибо.
    Очень кстати! :)

    Ответить
  2. Beetroot

    Можно ли такое провернуть и для контакта?

    Ответить
    1. tiaurus автор

      Вот тут вроде что-то есть: http://suvitruf.ru/2012/06/02/1255/

      Ответить