Авг
7
8

Последние сообщения twitter в wordpress блоге

последние записи твиттераРешил я немного разнообразить один из своих блогов и добавить туда информации из твиттера, а именно – добавить вывод последних сообщений twitter по нужному мне ключевому слову. Задача это оказалась весьма многогранной, найденное вроде бы простое решение пришлось очень долго модернизировать. При этом, увы, не могу сказать, что я полностью доволен результатом, но обо всем по порядку. Вид блока из твиттера можно посмотреть в блоге про typo3 (если он там все еще есть) либо на иллюстрации чуть ниже.

Итак, первое, что я сделал – конечно отправился за помощью в google, но все статьи словно копировали друг друга. Обзоры с 10,15, 20 лучшими плагинами для твиттера были весьма похожи и предсказуемы. В итоге ни один из плагинов не привернул мое внимание, и я принялся искать альтернативные методы. Самый простой из них – использовать виджет от самого твиттера.

Виджеты твиттера

Заходим на эту страницу и выбираем пункт «My Website» (кстати, под ним располагаются виджеты для фэйсбука). Всего на странице найдете 4 разных виджета для твиттера:

  • Profile Widget – отображает последние обновления вашего твиттера
  • Search Widget – выводит результаты поиска по твиттеру в реальном времени. Очень полезная штука, о которой еще поговорим.
  • Faves Widget – показывает наилучшие твитты, которые были отмечены вами – напротив каждого твитта вы можете ставить звездочку (favorite).
  • List Widget – что-то связанное со списками и избранными твиттами, лично я так и не понял.

Итак, если вы хотите отобразить список своих последних сообщений смотрите в сторону Profile Widget. С помощью поискового Search Widget можно сделать куда более интересные вещи. Для своего блога я хотел также отобразить список последний упоминаний админки TYPO3 в других микроблогах – получить что-то вроде «полезных новостей». Вводим в настройках виджета соответствующие данные:

виджет для твиттера

В меня слева вы найдете пункты Preferences, Appearance, Dimensions, которые позволят настроить опции, внешний вид и размеры виджета соответственно. Все делается достаточно просто и легко. Более того, вы можете использовать дополнительные поисковых запросы для отбора твиттов – подробный список ищем здесь. Там есть хэштеги, точные вхождения и исключения ключевиков и многое другое.

Но как назло не оказалось параметра для языковой версии, хотя в описании API этот пункт есть, а вот в операторах нет. Правда, если использовать полноценный поиск по твиттеру без виджета, то параметр языка присутствует — http://search.twitter.com/search?q=+typo3&lang=en

поиск по твиттеру

Там же на странице увидите ссылку «Feed for this query» — это RSS фид результатов поиска, кликаем и запоминаем его адрес из адресной строки браузера.

Сообщения twitter в wordpress блоге

Теперь отвлечемся от виджетов для твиттера и перейдем непосредственно к wordpress. Плагинов, как я уже сказал нет, поэтому пришлось погуглить на предмет кода. И вот здесь я обнаружил такое вот решение:

<?php
$username = "TwitterUsername";
 
// Prefix - some text you want displayed before your latest tweet.
$prefix = "<h2>My last Tweet</h2>";
 
// Suffix - some text you want display after your latest tweet. (Same rules as the prefix.)
$suffix = "";
 
$feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=1";
 
function parse_feed($feed) {
    $stepOne = explode("<content type=\"html\">", $feed);
    $stepTwo = explode("</content>", $stepOne[1]);
    $tweet = $stepTwo[0];
    $tweet = str_replace("&lt;", "<", $tweet);
    $tweet = str_replace("&gt;", ">", $tweet);
    return $tweet;
}
 
$twitterFeed = file_get_contents($feed);
echo stripslashes($prefix) . parse_feed($twitterFeed) . stripslashes($suffix);
?>

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

<?php
$username = "sashatod";
$twinum = 4;
//$feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=$twinum";
$feed = "http://search.twitter.com/search.atom?lang=en&q=+typo3"."&rpp=$twinum";
function parse_feed($feed,$it) {
    $stepOne = explode("<content type=\"html\">", $feed);
    $stepTwo = explode("</content>", $stepOne[$it]);
    $tweet = $stepTwo[0];
    $tweet = str_replace("&lt;", "<", $tweet);
    $tweet = str_replace("&gt;", ">", $tweet);
    $tweet = str_replace("&amp;quot;", "", $tweet);
    $tweet = str_replace('&quot;', '', $tweet);
    return $tweet;
}
$myfeed = file_get_contents($feed);
for ($it=1; $it<=$twinum; $it++) echo "<p>".parse_feed($myfeed,$it)."</p>";
?>

Объясняю логику. Во-первых, в поле username вводим ник из твиттера, во-вторых twinum определяет количество выводимых сообщений. Теперь если посмотрите в параметр $feed, то найдете там ключевое слово typo3, а также выбор языка lang=en. Но самое простое то, что этот $feed равен адресу RSS, который мы записали из поиска по твиттеру. В конце строки лишь добавляется часть с количеством твиттов. По идее, если вы разбираетесь в PHP или просто очень внимательные, то сможете подправить код под себя как будет нужно. Если вы захотите выводить список своих последних сообщений, то можно раскомментировать строку, начинающуюся с //$feed – там как раз используется параметр username.

Обновление 21.09.2010: С недавних пор при выводе последних сообщений из твиттера некорректно отображались ссылки в коде — к ним добавлялся адрес текущей страницы, что, конечно вызывало ошибку. Для исправления в код выше была добавлена еще одна строка замены str_replace.

В таком случае получается у нас есть 2 варианта – через виджет твиттера или вставкой php кода.

последние сообщения твиттера

Результат неоднозначен. Мне показалось, что применение функции через wordpress слегка тормозит отображение страницы, хотя с другой стороны использование стороннего javascript тоже чревато — не уверен, что он работает когда твиттер испытывает проблемы с нагрузкой. Кроме того, как уже было сказано, выборка по языку твиттов (lang) доступна только через функцию WordPress. Кстати, чуть более обширный пример кода для вывода последних постов твиттера опубликовал также Дмитрий Донченко — там настроек для кода побольше. В итоге не совсем понимаю хочу ли я выводить список последних сообщений из твиттера, нужен ли он вообще для блога. Пока что попробую, а там будет видно.

P.S. Постовой. Информация про город Обнинск на сайте АЙК Обнинск – городской информационный портал.
Ищешь хороший отель? То лучше бронировать отель киев. Рекомендуем отель «Русь».
Интернет магазин Linzmaster предлагает контактные линзы, а также другие аксессуары для вас.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 2, средний балл: 6,50 из 7)
Загрузка...

категория Категории: Хаки и секреты;
теги Теги: , , , , , .

комментариев 8 к статье “Последние сообщения twitter в wordpress блоге”

  • Seo-steper   09.08.2010

    Я так понимаю, вам уже можно свой плагин написать на этой основе для отображения твитов)

  • Tod   09.08.2010

    Seo-steper, та смысла его сочинять нет, проще код добавить в шаблон и все:)

  • SubmitguRu   10.08.2010

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

  • Владимир   19.03.2011

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

  • Saynov   16.04.2011

    Тема от web2feel) Florance, там же встроен виджет твита…

  • Владимир   30.07.2012

    «Там же на странице увидите ссылку «Feed for this query»»
    Сейчас в поиске нет такой ссылки, как быть? Помогите, пожалуйста.

  • Tod   31.07.2012

    Владимир, зашел в поиск и действительно в новом дизайне ссылку не обнаружил, хотя при этом на моем сайте старый код все еще работает (что странно). Поэтому вижу 2 варианта — составить ссылку на rss самостоятельно по примеру той, что есть в коде:

    $feed = "http://search.twitter.com/search.atom?lang=en&q=+typo3"."&rpp=$twinum";

    То есть указываете язык и ключевое слово для поиска и пробуете у себя. Второй способ — все же использовать виджет от твиттера или другой плагин, который реализует эту функцию.

  • Людмила   20.02.2016

    Твиттер не так популярен в России как Вконтакте, но для информации сохраню

Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости