Отборные материалы о дизайне, seo, wordpress

Как создать вывод подписчиков через текст

вывод подписчиков текстомЯ думаю, что многим уже приелись эти все кнопочки 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(); ?>

— это выведет кол-во фолловеров.


 

Похожие статьи:



17 комментариев к “Как создать вывод подписчиков через текст”

  1. Видел подобный вывод на нескольких блогах. Спасибо за реализацию. Надо будет попробовать.

  2. Интересное решение.
    Если судить по работе контекстной рекламы, то такие кнопочки должны быть вначале поста,в конце поста и сбоку, тогда конвертабельность посетителей в подписчики должна вырасти на порядок.

    • ETNO:

      да, так и есть. только в начале поста думаю лучше создать не кнопочку, а небольшую замануху, вроде «начинаю серию статей о том как….» — чтобы не пропустить новые материалы — подпишись на рсс — типа так

  3. Ммм…Я только сейчас начал понимать, как важно иметь те самые соцзакладки, вот если бы они у Вас тут отражались, я бы Ваш сайт добавил в свои. А так уже целый полигон в “Избранном”, и уже сложно что-то найти. С одной стороны не хочется терять связь с сайтом, но всякие федбернеры и рсс для меня это сложно. Буду краток, прикрутите возможность добавления блога в социалки. Успехов. Еще последнее — добавьте себя Яндекс Каталог, сегодня смотрел там одна лабуда, надо это исправлять новыми блогами.

    • ETNO:

      да, нужно как-то добавить что-то типа — подписаться в гугл-ридер, яндекс-ленту. А какие вы бы добавили соцзакладки?

  4. Возникла ошибка. Вроде бы все верно делаю, но вылазит ошибка:

    Fatal error: Call to undefined function curl() in /home/tonymiha/tonymihay.in.ua/www/wp-content/themes/euphoria/functions.php on line 71

    Что не так делаю? Ошибка как при вставке филбернера так и твиттера. Все время на эту функцию curl() ссылается.

    • ETNO:

      видимо хостинг у вас не имеет настроенную функцию curl. А вообще, этот код уже не стоит использовать, по крайней мере фидбернер у меня глючил при этом коде, потому что они там что-то поменяли в очередной раз.

  5. Странно, а у меня все нормально выводит. И количество подписчиков и число фолловеров. Только сегодня пробовал.
    2 tonymihay: Ваш хостинг не поддерживает cURL (сам с этим столкнулся). Замените curl на file_get_contents. Смысл тот же самый, если в подробности не сильно вдаваться.

  6. А как эту цифру вставить в какой-нибудь бокс. На фиды есть бокс на блоге, а на твиттерян не знаю, как сделать.

  7. Я наверно просто не так выразился, я знаю, куда и зачем вставлять этот код и плагины раньше стояли. Я хочу избавиться от многих плагинов, раньше стоял Simple Counts.
    Как вывести фиды без использования плагина я узнал, контейнер сделан на основе css3 (не картинка), т.е. без плагинов. Вот я у вас и спрашиваю, как можно подобное сделать для твиттера (сам контейнер).
    Вот этот контейнер для фида я подсмотрел у Dimox’a.

    • ETNO:

      ну так в статье же описано как это делать — копируете часть кода в functions.php, а потом вставляете вывод в шаблон. Раньше этот код точно работал, сейчас возможно придется поискать другое решение.

  8. r2d2:

    Привет, когда поменял курл — всё заработало :) секнс.

    Тока вопрос, можешь ещё сделать такую же функцию для фейсбука, для фан страничек

оставить отзыв