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

Вчера я поставил в свою RSS-ленту FeedBurner кнопку retweet, где вы можете проверить её работу, и сейчас объясню как это делается. Возьму в пример сервис TweetMeme и их код, так как большинство блогеров пользуются именно этим сервисом для установки кнопки retweet. Хотя в ходу и другие кнопки, но думаю, там не составит труда по данному примеру вставить желаемую кнопку. Итак, начнем.

"Новый" способ для WordPress версий 2.9 и выше

Здесь я вам предложу очень простой способ добавления кнопки retweet в RSS-ленту блога. Вам всего лишь необходимо в файл functions.php вашей темы, которая находится в папке /wp-content/themes/ВАША_ТЕМА/ перед строкой

?>

добавить следующие строки:

function twin_retweet_rss($content) {
   $button = '<div style="float:right;"><a href="http://api.tweetmeme.com/share?url=' . get_permalink() . '"><img src="http://api.tweetmeme.com/imagebutton.gif?url=' . get_permalink() . '" height="61" width="51" /></a></div>';
   $content = $button . $content;
   return $content;
}
add_filter('the_excerpt_rss', 'twin_retweet_rss');
add_filter('the_content_feed', 'twin_retweet_rss');

Здесь вы можете увидеть, что в коде используется функция, с помощью которой соответственно вставляется кнопка retweet в RSS-ленту блога и два фильтра, которые применяют функцию к тексту ленты. Вот и весь секрет. ;)

ВНИМАНИЕ! Использование данного способа в версиях WordPress ниже 2.9 не рекомендуется. При попытке добавления фильтров в версиях 2.3.3 и 2.6.2 RSS-ленты рушились и больше не работали.

"Старый" способ для WordPress ниже версии 2.9

1. Находим файл feed.php в папке wp-includes и открываем его любым текстовым редактором. Ищем в этом файле функцию the_content_rss. В ней находим строку:

echo $content;

Вместо этой строки добавляем две следующие строчки:

$button = '<div style="float:right;"><a href="http://api.tweetmeme.com/share?url=' . get_permalink() . '"><img src="http://api.tweetmeme.com/imagebutton.gif?url=' . get_permalink() . '" height="61" width="51" /></a></div>';
echo $button . $content;

Сохраняем файл feed.php.

2. Находим файл feed-rss2.php всё в той же папке wp-includes и открываем его любым текстовым редактором. Ищем в этом файле строку:

<content:encoded><![CDATA[<?php the_content() ?>]]></content:encoded>

Вместо этой строки вставляем следующую строку:

<content:encoded><![CDATA[<div style="float:right;"><a href="http://api.tweetmeme.com/share?url=<?php the_permalink_rss() ?>"><img src="http://api.tweetmeme.com/imagebutton.gif?url=<?php the_permalink_rss() ?>" height="61" width="51" /></a></div><?php the_content() ?>]]></content:encoded>

Сохраняем файл feed-rss2.php.

3. Теперь необходимо зайти в настройки ленты на FeedBurner и обновить ленту. Для этого входим в настройки ленты, затем переходим на вкладку Troubleshootize (Решай проблемы) и нажимаем кнопку Resync Now. После этого в течении часа кнопочка должна появится. Это может произойти как сразу, так и через час. Также, если верить тому, что написано на сайте FeedBurner, лента автоматически обновляется каждый час, поэтому вы можете просто подождать. Но я обновлял.

ВНИМАНИЕ! При обновлении ядра WordPress кнопка retweet может пропасть из RSS-ленты. Если это случится, вам необходимо будет снова проделать эти действия.

Ну и на по следок музыка. Песня группы Buttet For My Valentine под названием Tears Don't Fall в акустическом исполнении от них же. По-моему, звучит круто!

На этом всё. Удачи Вам!

Обновлено! Так как у многих возникают проблемы с редактированием файлов и вставкой нужного кода, я решил выложить уже отредактированные файлы feed.php + feed-rss2.php для разных версий, с какими сталкивался. Кнопка будет размещена в правом верхнем углу поста. Вам останется только залить данный файл на хостинг в папку wp-includes.

Немного коммерческой информации

Нравятся красивые часы? Тогда покупайте наручные часы для себя и близких. Время - это деньги.