Красивый счетчик FeedBurner-подписчиков и Twitter-фолловеров на CSS3

Ранее я предлагал вашему вниманию статьи о том, как с помощью небольших функций, не прибегая к плагинам, вывести на WordPress-сайте текстом количество RSS-подписчиков по данным сервиса FeedBurner и количество Twitter-фолловеров. В сегодняшнем посте я дополню данные статьи информацией о том, как красиво оформить эти счетчики ...

Комментарии (57)

  1. Не сказал бы, что красиво. И главное отличие заключается в том, что по умолчанию на иконках фидбурнера присутствуют ссылки на сам фид.
    В вашем же случае приходиться размещать несколько элементов. Зачем?

    И еще, что за странное поведение элементов формы комментариев? Все элементы при активации смещаются вниз на несколько пикселей, наезжая на низлежащие элементы. Очень не удобно.

    • И главное отличие заключается в том, что по умолчанию на иконках фидбурнера присутствуют ссылки на сам фид.

      Ничто не мешает поставить эту ссылку. Мне вот на счетчике она не нужна.

      И еще, что за странное поведение элементов формы комментариев? Все элементы при активации смещаются вниз на несколько пикселей, наезжая на низлежащие элементы. Очень не удобно.

      Это в каком браузере и какой версии? Ничего такого не наблюдаю.

  2. Спасибо, Дим :)

    ЗЫ: Я правда еще до статьи утянул.. ;)

  3. Спасибо! То что надо!

  4. Спасибо!)) Правда я тоже еще до статьи сделал, по аналогии со счетчиком фидберна, но все равно спасибо!)

  5. я думал из коробки заработает, а они вместе не умеют.

  6. Голосую за плагин нормальный, а то черт ногу сломит ковырять.

  7. Спасибо за интересную статью. Как раз думал, какой счетчик поставить.

  8. Спасибо большое !! Как раз то что долго искал я нашёл у вас !

  9. ну и зря, очень зря, полно очень простых плагинов, сейчас это хак получается такой.

  10. Отличная вещь, плагин тут не нужен вовсе! Если все делать только с помощью плагинов, блог будет вечность грузится)

  11. Вот где ж ты раньше был с этой статьей, когда я себе дизайн на блог делал :) Понравились твои счетчики, пришлось ковырять твой код :-D Но всеравно тебе благодарен))

  12. Спасибо, как раз использовал. Как сделаю новый дизайн покажу;)

  13. Фух наконец то нашел что искал давно хотел себе так сделать, но не мог дойти до этого. Спасибо.

  14. Спасибо. Попробуем.

  15. Спасибо за закругления. А как сделать чтобы и RSS подписчики были и твитер-фоловеры, а то функции конфликтуют?

    • Нужно сделать вот так:

      
      function plural_form($number, $after) {
        $cases = array (2, 0, 1, 1, 1, 2);
        echo '<span class="count">'.$number.'</span> '.$after[ ($number%100>4 && $number%100<20)? 2: $cases[min($number%10, 5)] ];
      }
      
      function feedburner_counter($account) {
        $rss = get_option("feedburnercounter");
        if (!isset($rss['lastcheck'])) $rss['lastcheck'] = 0;
        if (!isset($rss['count'])) $rss['count'] = 0;
        if (!isset($rss['account'])) $rss['account'] = '';
        if ($rss['lastcheck'] < (mktime() - 3600) || $rss['account'] != $account) {
           $xml = file_get_contents('http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri='.$account);
           preg_match('/circulation="(\d+)"/', $xml, $match);
           if ($match[1] != 0) {
             $rss['count'] = $match[1];
             $rss['lastcheck'] = mktime();
             $rss['account'] = $account;
             update_option("feedburnercounter",$rss);
           }
        }
        plural_form(
          $rss['count'],
          /* варианты написания для количества 1, 2 и 5 */
          array('подписчик','подписчика','подписчиков')
        );
      }
      
      function twitter_followers($account) {
        $tw = get_option("twitterfollowers");
        if (!isset($tw['lastcheck'])) $tw['lastcheck'] = 0;
        if (!isset($tw['count'])) $tw['count'] = 0;
        if (!isset($tw['account'])) $tw['account'] = '';
        if ($tw['lastcheck'] < (mktime() - 3600) || $tw['account'] != $account) {
          $xml = file_get_contents('http://twitter.com/users/show.xml?screen_name='.$account);
          preg_match('/followers_count>(.*)</', $xml, $match);
          if ($match[1] !=0 ) {
            $tw['count'] = $match[1];
            $tw['lastcheck'] = mktime();
            $tw['account'] = $account;
            update_option("twitterfollowers",$tw);
          }
        }
        plural_form(
          $tw['count'],
          /* варианты написания для количества 1, 2 и 5 */
          array('фолловер','фолловера','фолловеров')
        );
      }
      
  16. Василий
    8 лет назад

    Dimox (и знающие комментаторы), счетчик почему-то не обновляет кол-во подписчиков. Собственно и на feedburner’ре показывает все по нулям. Вчера подключил к сайту. Теста ради, сам подписался с двух аккаунтов и товарища попросил. Есть какой-то тайм-аут обновления кол-ва подписчиков?

  17. У меня почему то не применяется никакой стиль. Выводится количество подписчиков, а стиля нет. Уже и кеш чистил и ничего не происходит.

  18. Надо к себе на сайт добавить — полезная штука. Видил на многих сайтах — а вот прочитать что-то не попадалось!

    Удачи в развитии!!!

  19. спасибо Дима, позже поставлю, очень красиво.

  20. Давно хотел поменять счетчики, но предложенный вами код отказывается работать:»Fatal error: Call to undefined function twitter_followers() in /home/p/petruxa110/moi-tarakany.ru/public_html/wp-content/themes/jarrah/jarrah/sidebar.php on line 20″. Что это может быть?

Ваш комментарий