Твиттер-плагины и хаки для вордпресса

Как вывести последний твит, сделать на лету короткий урл и многое другое в этом посте.
С этим мотоциклом что-то совсем подзабил на все дела в вебе, в том числе и на блог.
Про то, как вывести последний твит и как добавить ссылку tweet this уже писал.
Сейчас все вместе, в упорядоченном виде.

Создаем короткие урлы на лету

Для чего они нужны итак понятно, твиттер имеет ограничение в 150 символов, поэтому ссылки режем.
Сама функция:

function getTinyUrl($url) {
      $tinyurl = file_get_contents("
      http://tinyurl.com/api-create.php?url=".$url);
     return $tinyurl;
  }

Вызываем ее так :

<?php
$turl = getTinyUrl(get_permalink($post->ID));
echo 'Tiny Url for this post: <a href="'.$turl.'">'.$turl.'</a>'
?>

2.Выводим последний твит

Уже писал, но для порядка повторюсь

<?php

// Your twitter username.
$username = "TwitterUsername";

// Prefix - some text you want displayed before your latest tweet.
$prefix = "<h2>My last Tweet</h2>";

$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);
?>

Выводим последний твит картинкой

Для эстетов. Есть такой сайтец — Twitsig, идем туда, вбиваем нужно имя и получаем на выбор либо код либо готовую картинку

Во, я про мотик свой в твиттер написал:

Создаем кнопку добавить в твиттер.

Писал уже,в примере только не кнопка а ссылка, ну это легко поправимо.
В нужном месте (index.php, single.php) добавляем строчки

<a href="http://twitter.com/home?status=Currently reading
<?php the_permalink(); ?>"
title="Click to send this page to Twitter!"
target="_blank">
<img src="send-to-twitter.png" alt="" /></a>

Определяем посетителя, который пришел из твиттера.

Особой нужды в этом нет, тот же ливер отлавливает переходы с твиттера, но если например хочется поприветствовать человека, который увидел линк в чьей нибудь ленте и перешел почитать, то следующий код:

<?php
if (strpos("twitter.com",$_SERVER[HTTP_REFERER])==0) {
    echo "Welcome, Twitter visitor!
If you enjoy this post, don't hesitate to retweet!";
}
?>

Создаем отдельную страницу для твиттера на блоге

При помощи некоторых функций вп можно вывести свою временную ленту на блоге.

Создаем пустой файл в теме, например twit.php. Добавляем туда код

<?php
/*
Template Name: Twitter page
*/
get_header(); 

include_once(ABSPATH.WPINC.'/rss.php');
wp_rss('http://twitter.com/statuses/user_timeline/21746521.rss', 20); 

get_sidebar();
get_footer();
?>

Создаем новую страницу из админки, выбираем использовать шаблон Twitter page (у меня справа при создании новой страницы)

При надобности можно добавить свой дизайн. Адрес рсс ленты брать у себя в твиттере.

Пример у меня

Небольшая поправочка. Вариант от автора не сработал у меня, вся лента была в непонятной кодировке. Решил вот так:

<?php

/*
Template Name: Twitter page
*/

get_header(); ?>
<div id="posts">
<h2><?php _e('Мой твиттер'); ?></h2>
<?php // Get RSS Feed(s)
include_once(ABSPATH . WPINC . '/rss.php');
$rss = 
fetch_rss('http://twitter.com/statuses/user_timeline/21746521.rss');
$maxitems = 30;
$items = array_slice($rss->items, 0, $maxitems);
?>

<ul>
<?php if (empty($items)) echo '<li>No items</li>';
else
foreach ( $items as $item ) : ?>
<li><a href='<?php echo $item['link']; ?>'
title='<?php echo $item['title']; ?>'>
<?php echo $item['title']; ?>
</a></li>
<?php endforeach; ?>
</ul>
</div>
<?php
get_sidebar();
get_footer();
?>

Используем твиттер аватары

  1. Забираем плуг здесь
  2. Копипастим содержимое в function.php вашей темы
  3. Открываем comments.php, находим цикл вывода комментов, туда добавляем код:
<?php
twittar('45', 'default.png', '#e9e9e9', 'twitavatars', 1, 'G');
?>

Хаки на этом кончаются, начинаеются плагины.

Twitter Updater

Отсылает сообщения в твиттер если написан новый пост или изменен старый

TwitThis

Добавляет ссылку на добавление в твиттер к текущему посту.

Twit It Up

Делает тоже, что и предыдущий плагин, только на ajax.

Twit Twoo

ДайтеТвитните две позволяет рассылать сообщения друзьям из админки вп.

Twittar

Как писалось выше, выводит аватары из твиттера. Имхо, из граватара удобнее.

TweetBacks

Собирает беки из твиттера на пост, если тот начал активно обсуждаться.

Оригинал на ангельском

3.00 avg. rating (67% score) - 2 votes

9 комментариев

  • Твиттер-плагины и хаки для вордпресса…

    Thank you for submitting this cool story — Trackback from progg.ru…

  • Последний твит можно легче получить — используя апишный метод show http://apiwiki.twitter.com/Twitter-REST-API-Method:-users show (т.е. запрашивать http://twitter.com/users/show.xml?screen_name=marapper) — так можно заодно и любые циферки из профиля забрать в том же запросе.

    Ну а разбирать такую штуку лучше с помощью xml_parse_into_struct() — все-таки xml, структура, все дела.

    Кроме того, неплохо бы создать ВП-шную настройки через  *_option() — чтобы кешировать твит на время, и не запрашивать с урла каждый раз.

    Соответственно, в таком же запросе легко забирать аватарку человечка и пользовать ее.

  • Сергей М. угу, функцию написать это конечно более правильный метод. Спс за линки.

  • Да не за что. Фактически, я просто описал, что использую сам в разных верстках.

    (да и еще одна деталь — file_get_contents будет работать только если не закрыта функция доступа к файлам как урлам, на таких хостингах стоит curl. Так что надо проверять, есть ли курл, не было ли ошибки — и только тогда обращаться к доступу через файл).

    Ну вот наметка http://narod.ru/disk/9204279000/twitby-followers.php.html — хотя, конечно, это взято с проекта для twitter.by, там косяк в парсере, считает только фолловеров/апдейты/фолловингов (легко брать остальное из индекса) и кеширование находится в другой части библиотеки.

  • А зачем вся библиотека при вполне определенной задаче и простом АПИ? К тому же без нормальной возможности контроллировать скорость работы — а вдруг при запросе он каждый раз будет обращаться? Или еще что.

    Для больших же приложений на основе тви есть другая библиотека, которая скорее прослойка, чем библиотека — кроме доступа к API, она убирает ограничение на количество запросов в час к апи. Названия, правда, сходу не вспомню.

  • Юзерпики и впрямь лучше с Граватара, чем с Твитера брать.

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

  • Спасибо за инфу, сейчас тоже пытаюст твиттер в вордпресс приладить. Много нового узнал.

  • Твитер конечно неплох, но сам по себе. Смысл нагружать себя еще и твт дублем кроме основного блога.

css.php