Выводим твиты на WordPress блоге без плагинов

твиты на WordPress блоге без плагинов

В последнее время я все больше начал интересоваться Твиттером: приобрел себе базу безотказных твиттер-аккаунтов, Twidium, начал раскручивать аккаунты другим блоггерам. На блоге своего друга Ahawka еще месяца 2 назад я увидел в сайдбаре виджет с последними его твитами. Это все реализуется очень просто с помощью многочисленных плагинов. Как Вы знаете, я не приверженец большого количества плагинов, потому что они жутко тормозят блог. Поэтому я решил вывести твиты в сайдбаре, не используя при этом никаких плагинов. Сразу оговорюсь, что через некоторое время я решил убрать их с сайдбара, так как их место не в сайдбаре моего блога, а на Твиттере.

Итак, чтобы вывести в сайдбаре последние твиты со своего микроблога на Твиттере, нужно вставить в файл sidebar.php вот этот код:

<ul>
<?php
$feedURL = "http://twitter.com/statuses/user_timeline/207650326.rss"; // измените на адрес RSS из twitter-а
$doc = new DOMDocument();
$doc->load($feedURL);
$arrFeeds = array();
foreach ($doc->getElementsByTagName('item') as $node) {
    $itemRSS = array (
        'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
        );
    array_push($arrFeeds, $itemRSS);
}
$limit = 5; // количество сообщений для вывода.
for($x=0;$x<$limit;$x++) {
    $title = str_replace('sidash: ', '', $arrFeeds[$x]['title']); // замените sidash на ваш логин в твиттере.
    $str = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $title);
    $pattern = '/[#|@][^\s]*/';
    preg_match_all($pattern, $str, $matches);

    foreach($matches[0] as $keyword) {
        $keyword = str_replace(")","",$keyword);
        $link = str_replace("#","%23",$keyword);
        $link = str_replace("@","",$keyword);
        if(strstr($keyword,"@")) {
            $search = "<a href=\"http://twitter.com/$link\">$keyword</a>";
        } else {
            $link = urlencode($link);
            $search = "<a href=\"http://twitter.com/#search?q=$link\" class=\"grey\">$keyword</a>";
        }
        $str = str_replace($keyword, $search, $str);
    }
    echo '<li>'.$str.'</li>';
}
?>
</ul>

Не забудьте вставить адрес своей RSS из Твиттера и название вашего логина. Чтобы узнать адрес RSS своего Твиттера нужно выйти из Twitter-аккаунта (Log out). Вы увидите вот такую ссылку (кликабельно):

Её то и нужно вставить в код, который я опубликовал выше.

Теперь еще один момент, о котором я забыл упомянуть. Если Вы вставите код не в сам файл sidebar.php, а в текстовый виджет, то твиты не будут выводиться. Все очень просто – PHP-код не работает, если его просто вставить на страницу, статью или текстовый виджет.

Но выход есть – плагин Exec-PHP (парадокс, не правда ли :)?). С его помощью PHP-код, вставленный в виджет, будет прекрасно работать:

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

На закуску предлагаю Вам посмотреть как мои любимые «кроты» поставили на свое место «волков» из Рима на их же поле (Рома-Шахтер 2-3)! Сегодня я потерял тысячи нервных клеток после этого матча!)  Я в который раз убеждаюсь, что продвижение неизбежно даже для футбольных клубов!

Если у вас в windows  произошла ошибка VPN подключения, то не нужно сразу впадать в панику. Прочитайте статью, ссылку на которую я разместил в предыдущем предложении — будем решать IT проблему вместе :).

Понравилась статья? Поделиться с друзьями:
Комментарии: 19
  1. ahawks

    Плагин всего 15 кб весит, так что и с ним особо не тяжко)
    Шахтер вчера красиво с играли за 15 минут 3 гола.

  2. Ольга

    А можно и еще одним способом это сделать: подключить 2 скрипта, маленький .js файл с сервера Twitter и столь же маленький .json файл, в них непосредственно настроить отображение, а собственно твиты в желаемом виде выводятся прописыванием обычного неупорядоченного списка с нужным id. Так у меня в шапке выводится последний твит.

  3. Ergo

    Как по мне тут уже на любителя — хоч плагин, хоч код)

  4. haserk

    Шахтер молодцы, ну и Арсенал тоже, красавцы, уделали Барсу, браво.

  5. ahawks

    Если посмотреть на их игру, то видно, что Арсеналу просто повезло, у Барсы было на много больше моментов, 2 гола даже не засчитали. А вот вратарь у барсы отвратительно с играл в обоих моментах.

  6. Владимир

    Интересно, а сколько так плагинов в норме должно быть, чтоб не перегружать

  7. sidash

    лично у меня сейчас 19 плагинов.это более менее нормальное кол-во

  8. Ольга

    У меня 7 и намерена еще сократить это число ;)

  9. Владимир

    Спасибо. Еще одно, немного не в тему: как сделать на блоге, чтобы, нажымая на ссылку, страница открывалась в новом окне. Есть такой плагин или как-то по-другому?

  10. Ольга

    просто добавит к ссылке атрибут target=»blank» То есть получится {a href=»здесь адрес» target=»blank»}здесь текст ссылки{/a}
    Только фигурные скобки заменить на обычные галочки тегов.

  11. sidash (автор)

    Владимир, когда создаете новую статью, то выделяйте нужный текст и вставляйте ссылку как на скрине
    http://pixs.ru/showimage/Bezimyanni_5648871_1720551.png

  12. Ольга

    Хи-хи, все время забываю, что в WordPress еще и визуальный редактор есть, привыкла сразу в html-разделе строчить )))

  13. Владимир

    Поклон и уважение за подсказку

  14. sidash (автор)

    рад помочь;)

  15. Prohor

    Классно , надо попробовать, а то плагины перегружают блог

  16. MasterPRO

    И зачем городить такой огромный код, когда есть решение гораздо меньше?
    Хотите знать как? Тогда Вам сюда — http://www.master-sv.com/twitter-news

  17. Кирилл

    Сайт только начал создавать. Из вашего примера сделал список твитов. Неделю назад перестало работать на этом сайте и еще одном, что-то видимо изменилось, а что не пойму…
    может в политике твиттера что изменилось или у меня на хостинге. Как понять, почему пустые строки выводятся?

  18. Sidash

    @Кирилл: не могу знать, я в коде не мастер)

  19. sidash (автор)

    @Кирилл: в твиттере появилась возможность вставлять его код к себе на сайт для вывода твитов
    https://dev.twitter.com/docs/embedded-timelines

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: