Я думаю, что многим уже приелись эти все кнопочки rss в сайдбаре. А тем более, стандартные мелкие счетчики feedburner. Сегодня я расскажу как можно сделать что-то вроде того, что на скрине.
Итак, идем в файлик functions.php вашей темы и вставляем туда такой код
// Get Feedburner RSS Subscriber count as plain text
add_option('myfeeds_count','0','','yes');
add_option('myfeeds_api_timer',mktime() - 10000,'','yes');
function myfeeds_count() {
$rsscount = get_option('myfeeds_count');
if ( get_option('myfeeds_api_timer') < (mktime() - 3600) ) {
// EDIT your Feedburner feed name here:
$fb_id = "fleek/oakS";
$subscribers = curl("https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=" . $fb_id);
try {
$xml = new SimpleXmlElement($subscribers, LIBXML_NOCDATA);
if ($xml) {
$rsscount = (string) $xml->feed->entry['circulation'];
update_option('myfeeds_count', $rsscount);
}
} catch (Exception $e) { }
update_option('myfeeds_api_timer', mktime());
}
//Echo the count if we got it
if($rsscount == 'N/A' || $rsscount == '0') { echo 'many other'; }
else { echo $rsscount; }
}
в поле $fb_id – вам нужно вставить свой id на фидбернере. В самом конце, там где echo ‘many other’ – впишите любое слово или цифру, которую вы хотите выводить в тот момент, если фибернер недоступен (такое бывает при пересчете). Предварительно вам нужно будет также включить опцию Awareness API в аккаунте фидбернера. Теперь в том месте, где вы хотите, чтобы появились циферки – ставим
<?php if (function_exists('myfeeds_count')) myfeeds_count(); ?>
Теперь перейдем к твиттеру
принцип тот же
// Get Twitter Follower count as plain text
add_option('mytwitter_followers','0','','yes');
add_option('mytwitter_api_timer',mktime() - 10000,'','yes');
function mytwitter_followers() {
$twittercount = get_option('mytwitter_followers');
if ( get_option('mytwitter_api_timer') < (mktime() - 3600) ) {
// EDIT your Twitter user name here:
$twitter_id = "sizamas";
$followers = curl("http://twitter.com/users/show.xml?screen_name=" . $twitter_id);
try {
$xml = new SimpleXmlElement($followers, LIBXML_NOCDATA);
if ($xml) {
$twittercount = (string) $xml->followers_count;
update_option('mytwitter_followers', $twittercount);
}
} catch (Exception $e) { }
update_option('mytwitter_api_timer', mktime());
}
if ( $twittercount != '0' ) { echo $twittercount; }
else { echo "growing number of"; }
}
twitter_id – ваш id, growing number of – кастом фраза.
<?php if (function_exists('mytwitter_followers')) mytwitter_followers(); ?>
– это выведет кол-во фолловеров.
Понравилась статья? - Подпишись.
Или поделись полезным с миром
Похожие статьи:

Видел подобный вывод на нескольких блогах. Спасибо за реализацию. Надо будет попробовать.
Интересное решение.
Если судить по работе контекстной рекламы, то такие кнопочки должны быть вначале поста,в конце поста и сбоку, тогда конвертабельность посетителей в подписчики должна вырасти на порядок.
да, так и есть. только в начале поста думаю лучше создать не кнопочку, а небольшую замануху, вроде “начинаю серию статей о том как….” – чтобы не пропустить новые материалы – подпишись на рсс – типа так
Ммм…Я только сейчас начал понимать, как важно иметь те самые соцзакладки, вот если бы они у Вас тут отражались, я бы Ваш сайт добавил в свои. А так уже целый полигон в “Избранном”, и уже сложно что-то найти. С одной стороны не хочется терять связь с сайтом, но всякие федбернеры и рсс для меня это сложно. Буду краток, прикрутите возможность добавления блога в социалки. Успехов. Еще последнее – добавьте себя Яндекс Каталог, сегодня смотрел там одна лабуда, надо это исправлять новыми блогами.
да, нужно как-то добавить что-то типа – подписаться в гугл-ридер, яндекс-ленту. А какие вы бы добавили соцзакладки?
Возникла ошибка. Вроде бы все верно делаю, но вылазит ошибка:
Fatal error: Call to undefined function curl() in /home/tonymiha/tonymihay.in.ua/www/wp-content/themes/euphoria/functions.php on line 71
Что не так делаю? Ошибка как при вставке филбернера так и твиттера. Все время на эту функцию curl() ссылается.
видимо хостинг у вас не имеет настроенную функцию curl. А вообще, этот код уже не стоит использовать, по крайней мере фидбернер у меня глючил при этом коде, потому что они там что-то поменяли в очередной раз.
Странно, а у меня все нормально выводит. И количество подписчиков и число фолловеров. Только сегодня пробовал.
2 tonymihay: Ваш хостинг не поддерживает cURL (сам с этим столкнулся). Замените curl на file_get_contents. Смысл тот же самый, если в подробности не сильно вдаваться.
А как эту цифру вставить в какой-нибудь бокс. На фиды есть бокс на блоге, а на твиттерян не знаю, как сделать.
что-то не понял, что за бокс. Вообще вставляется в файлы темы
Посмотрите у меня на блоге, контейнер с фидами в сайдбаре. Как можно количество твиттерян вставить в такой контейнер.
нужно найти в файлах шаблонах место где нужно вывести, в вашем случае, скорее всего sidebar.php, ну и далее вставляете туда тот код, что в статье. Но я не рекомендую его, так как часто фидбернер чето крутит и на счетчики отображается фигня. С твитером вроде нормально. Также можете попробовать плагин для вывода кол-ва фолловеров
Большое спасибо!!! С этим плагином получилось сделать, осталось сменить цвет в css!
Я наверно просто не так выразился, я знаю, куда и зачем вставлять этот код и плагины раньше стояли. Я хочу избавиться от многих плагинов, раньше стоял Simple Counts.
Как вывести фиды без использования плагина я узнал, контейнер сделан на основе css3 (не картинка), т.е. без плагинов. Вот я у вас и спрашиваю, как можно подобное сделать для твиттера (сам контейнер).
Вот этот контейнер для фида я подсмотрел у Dimox’a.
ну так в статье же описано как это делать – копируете часть кода в functions.php, а потом вставляете вывод в шаблон. Раньше этот код точно работал, сейчас возможно придется поискать другое решение.
Привет, когда поменял курл – всё заработало
секнс.
Тока вопрос, можешь ещё сделать такую же функцию для фейсбука, для фан страничек
я ж не программист, но вот вам – там описано как делать