SMO — одна из ключевых рубрик моего блога, потому что современный сайт без интеграции с соцмедиа выглядит, как минимум, странно. Я стараюсь периодически рассказывать о некоторых нюансах оптимизации сайтов под социальные сети.
Задача решается с помощью виджета, а точнее его данных, которые открыто передаются в обычном JSON.
https://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names=username
Что проверить, вместо username подставьте имя любого рабочего Твиттера. Например, для моего Твиттера specotdel, скрипт вернёт такой массив:
[{"following":false,"id":"40255119","screen_name":"specotdel","name":"Ivan Danilin","protected":false,"followers_count":740,"formatted_followers_count":"740 followers","age_gated":false}]
Как видим, followers_count — это и есть число фолловеров, остаётся только разобрать JSON и выдернуть followers_count. Я покажу два способа получения числа фолловеров с помощью jQuery и PHP.
1. jQuery
Комментировать здесь особо нечего, выполняем асинхронный HTTP-запрос jQuery.ajax(), вместо specotdel ставим нужный юзернейм.
<h3>Количество фолловеров: <strong></strong></h3> <script type="text/javascript"> $.ajax({ url: "https://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names=specotdel", dataType : 'jsonp', crossDomain : true }).done(function(data) { $("h3 strong").text(data[0]['followers_count']); }); </script>
2. PHP
Простой PHP-скрипт читает JSON-файл, функцией json_decode() декодирует его, парсит и выводит всё то же значение followers_count.
$data = file_get_contents('https://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names=specotdel'); $parsed = json_decode($data,true); $tw_followers = $parsed[0]['followers_count']; echo $tw_followers;
Можно пойти немного дальше и создать функцию, которая будет выводить количество фолловеров. Например, в Вордпресс в файле функций functions.php активной темы определяем функцию tw_fans_count().
function tw_fans_count($twID) { $json_string = file_get_contents('https://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names='.$twID); $json = json_decode($json_string,true); return $json[0]['followers_count']; }
Теперь в любом месте темы к ней можно обратиться через переменную $twID и вывести число фолловеров любого аккаунта Твиттера.
Например, так:
echo tw_fans_count('danilinbiz');
Способ не идеальный, рано или поздно лавочка прикроется, я думаю. Но пока работает, значит можно пользоваться.