7 новых хаков Твиттера для WordPress

29 октября 2012 года, Размещено в категории: PHP / MySQL, WordPress

Добрый день дорогие друзья, я уже затрагивал подобную тему в статье - 4 плагина, для интеграции Твиттера в блог, а сейчас я предлагаю для вас подборку новых, интересных скриптов и хаков для WordPress, которые помогут оживить и разнообразить ваш блог.

Теперь вы сможете интегрировать Twitter в WordPress без особых проблем и получить интересные решения. И так приступим.

1. Кнопка – ссылка для Ретвита записи

Чтобы добавить кнопку ретвита для каждого поста в WordPress, достаточно добавить вот такой код в файл single.php:

<a href="http://twitter.com/home?status=Вы должны это прочитать <?php the_permalink(); ?>" 
title="Публикация в Twitter">Рассказать друзьям!</a>

С помощью этого способа вы получите простую ссылку, которую вы можете оформить в виде кнопки или оставить в таком виде. Чтобы в сообщении Твиттера был заголовок поста, можно ещё добавить вызов функции <?php the_title(); ?>.

2. Вывод общего количества Фолловеров

Чтобы все ваши посетители, видели на сколько вы популярны, можно вывести количество Фолловеров вашего аккаунта. Для этого надо в файл functions.php добавить вот такой код обработчик:

function string_getInsertedString($long_string,$short_string,$is_html=false){
    if($short_string>=strlen($long_string))return false;
    $insertion_length=strlen($long_string)-strlen($short_string);
    for($i=0;$i<strlen ($short_string);++$i){
    if($long_string[$i]!=$short_string[$i])break;
}
    $inserted_string=substr($long_string,$i,$insertion_length);
    if($is_html && $inserted_string[$insertion_length-1]=='<'){
       $inserted_string='<'.substr($inserted_string,0,$insertion_length-1);
    }
    return $inserted_string;
} 
 
function DOMElement_getOuterHTML($document,$element){
    $html=$document->saveHTML();
    $element->parentNode->removeChild($element);
    $html2=$document->saveHTML();
    return string_getInsertedString($html,$html2,true);
}
 
function getTwitterFollowers($username){
    $x = file_get_contents("http://twitter.com/".$username);
    $doc = new DomDocument;
    @$doc->loadHTML($x);
    $ele = $doc->getElementById('follower_count');
    $innerHTML=preg_replace('/^< [^>]*>(.*)< [^>]*>$/',"\\1",DOMElement_getOuterHTML($doc,$ele));
    return $innerHTML;
}

Для вывода числа followers на сайте, надо в удобном для вас месте, прописать вот такой код:

<?php echo getTwitterFollowers("название_аккаунта")." followers on Twitter"; ?>.

Если, например, у Вас несколько авторов на сайте, то вы можете выводить количество фолловеров для каждого из них, только не забывайте подставлять соответствующие названия аккаунтов.

3. Вывод последних твитов на блоге

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

<?php
$username = "Username"; // Вставьте ваш Username
$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);
?>

Принцип работы скрипта основан на парсинге RSS ленты вашего аккаунта и он является полностью автономным и использовать его вы можете в любом месте вашего сайта, использовав прямую вставку в шаблон.

4. Автоматическая публикация анонса нового поста

Можно сделать так, чтобы в Твиттер сразу публиковался анонс на опубликованный пост. Это сильно экономит время и моментально сообщает вашим последователям, о выходе нового поста.

Автоматическая публикация анонса нового поста

Для этого воспользуйтесь плагином Twitter Tools. Установка и настройка очень простые и с ними справится каждый.

5. Вывод последних твитов нескольких пользователей

Данный способ подойдёт для блогов с несколькими авторами или например если вы хотите выводить последние сообщения каких-нибудь аккаунтов, которые будут полезны вашим посетителям.

<?php
$usernames = " Username1 Username2 Username3 "; // Аккаунты для парсинга
$limit = "6"; // Кол-во выводимых сообщений
$show = 1; // 0 – не показывается кол-во аккаунтов, 1 - показывается
$prefix = "Последние в Твиттере"; // Заголовок блока
$prefix_sub = ""; //Текст перед каждым отдельным твитом
$wedge = "";
$suffix_sub = "<br>"; // То, что добавляется в конце каждого Твита
$suffix = ""; // Код который выводится в конце всех сообщений
 
function parse_feed($usernames, $limit, $show, $prefix_sub, $wedge, $suffix_sub) {
 
    $usernames = str_replace(" ", "+OR+from%3A", $usernames);
    $feed = "http://search.twitter.com/search.atom?q=from%3A" . $usernames . "&rpp=" . $limit;
    $feed = file_get_contents($feed);
    $feed = str_replace("&", "&", $feed);
    $feed = str_replace("<", "<", $feed);
    $feed = str_replace(">", ">", $feed);
    $clean = explode("<entry>", $feed);
    $amount = count($clean) - 1;
 
for ($i = 1; $i <= $amount; $i++) {
 
    $entry_close = explode("</entry>", $clean[$i]);
    $clean_content_1 = explode("<content type=\"html\">", $entry_close[0]);
    $clean_content = explode("</content>", $clean_content_1[1]);
    $clean_name_2 = explode("<name>", $entry_close[0]);
    $clean_name_1 = explode("(", $clean_name_2[1]);
    $clean_name = explode(")</name>", $clean_name_1[1]);
    $clean_uri_1 = explode("<uri>", $entry_close[0]);
    $clean_uri = explode("</uri>", $clean_uri_1[1]);
 
    echo $prefix_sub;
 
    if ($show == 1) { echo "<a href=\"" . $clean_uri[0] . "\">" . $clean_name[0] . "</a>" . $wedge; }
       echo $clean_content[0];
       echo $suffix_sub;
    }
}
     echo $prefix;
     parse_feed($usernames, $limit, $show, $prefix_sub, $wedge, $suffix_sub);
     echo $suffix;
?>

Принцип работы данного скрипта, такой же как и при выводе последних сообщений с одного аккаунта – парчинг RSS.

6. Обнаружение посетителей с Твиттера

Как вы наверно знаете, с помощью PHP можно определить посетителей с разных сайтов или поисковых систем и как-то по особенному встречать их. Для Твиттера также возможно сделать такое, просто вставьте код, который приведён ниже в то место, где вы хотите выводить приветствие.

<?php if (strpos("twitter.com",$_SERVER[HTTP_REFERER])==0) { echo "Привет, вы попали на сайт с Твиттера!"; } ?>

В данном случае, будет выводится простая надпись. Если немного поэкспериментировать, то можно выводить всплывающие окна и тому подобные вещи.

7. Автоматическое генерирование коротких адресов

Если вы используете свою кнопку для ретвита поста, как описано в пункте 1. То можно ещё генерировать короткие урл для сообщений, использую возможности сервиса bit.ly. Для этого в файле functions.php, надо добавить специальную функцию:

function makeBitly($url) {
    $tinyurl = file_get_contents("http://bit.ly/api-create.php?url=".$url);
    return $bitly;
}

А в цикле single.php уже вызов функции и вывод:

<?php $burl = makeBitly(get_permalink($post->ID)); echo '< a href="'.$burl.'" >'.$burl.'< /a >' ? >

Как подставить этот адрес в ретвит, я думаю вы догадаетесь, если нет, то пишите в комментариях, помогу.






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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Перед отправкой формы: