15.12.2008 23:3810 полезных RSS-приемов для WordPress

Перевод статьи 10 Useful RSS-Tricks and Hacks For WordPress

RSS – это одна из чрезвычайно простых и, в то же время, чрезвычайно мощных технологий. На данный момент RSS фактически стал стандартом для синдикации блогов (одновременной публикации контента на нескольких веб-узлах) и широко используется в личных и корпоративных целях; например, в блогах. Принимая во внимание то, что многие из таких блогов работают на движке WordPress, в этом посте мы постараемся охватить некоторые (как нам кажется) малоизвестные, но полезные RSS приемы, которые помогут вам использовать этот сервис более эффективно и без использования ненужных и корявых плагинов WordPress.

Рассмотрим 10 полезных и малоизвестных RSS приемов для WordPress. В каждом пункте статьи описывается проблема и предлагается ее решение. При этом каждое решение подробно описано, чтобы вы могли не просто решить свои проблемы, связанные с RSS, но и при этом понимали, что вы делаете. Таким образом, вы сами будете модифицировать свою тему WordPress, а не наполнять ее непонятными исходными кодами.

1. Контролируйте время появления ваших постов в RSS

Контролируйте время появления ваших постов в RSS

Проблема. Бывало ли у вас такое, что вы опубликовали статью и сразу же заметили ошибку? Конечно же, вы можете исправить ошибку, но есть другая проблема: статья уже опубликована в вашем RSS фиде. Чтобы избежать подобных проблем, используйте следующий рецепт, чтобы создать задержку между публикацией поста и его появлением в RSS фиде.

Решение. Для использования этого приема просто вставьте следующий код в файл function.php вашей темы. Если в вашей теме нет такого файла, создайте его.

function publish_later_on_feed($where) {
global $wpdb;if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate('Y-m-d H:i:s');// value for wait; + device
$wait = '5'; // integer// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}add_filter('posts_where', 'publish_later_on_feed');

Объяснение кода. Указанный выше код добавит 5-минутную задержку между публикацией поста в вашем блоге и его появлением в RSS фиде. Для изменения времени задержки измените значение переменной $wait в девятой строке.

2. Редирект фидов WordPress на фиды FeedBurner

Проблема. Блоггер-новичок обычно начинает пользоваться сервисом FeedBurner только после того, как увидел его во многих других блогах, и понял, насколько полезен этот сервис. Новички регистрируются и начинают им пользоваться, но их более ранние подписчики остаются в подписке на WordPress-фид, который тогда был установлен по умолчанию.

Еще одна проблема: часто ли вы меняете свою тему? Если да, то вам, наверное, уже надоело редактировать каждое обращение к bloginfo(’rss2_url’) и менять его на URL своего FeedBurner-фида.

Решение. Есть простое решение обеих указанных выше проблем: используйте переадресации сервера. Создайте резервную копию файла .htaccess, который находится в корневом каталоге вашего веб-сервера.

Отредактируйте файл .htaccess, добавив в него следующий код. Не забудьте заменить URL фида своим URL-адресом.

# temp redirect wordpress content feeds to feedburner
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/wprecipes [R=302,NC,L]
</IfModule>

Сохраните файл. Все готово!

Объяснение кода. Каждый раз, когда пользователь нажимает ссылку http://www.yourblog.com/feed, он перенаправляется по адресу http://feeds.feedburner.com/yourblog. Так вы никогда не потеряете подписчика, даже если вы будете менять свою тему по два раза в день, и вам больше не придется вручную редактировать ссылки на RSS фид.

3. Помещайте рекламу (или что угодно) в свой RSS фид


реклама в RSS-фиде

Проблема. Сейчас все больше и больше людей зарабатывают на RSS фиде, в том числе и многие блоггеры, которые хотят максимально увеличить свой доход. FeedBurner может поместить рекламу AdSense в ваши разделы фида, но для этого у вас должно быть не менее 500 подписчиков, кроме того, нельзя использовать какую-либо другую рекламу, за исклчением рекламы AdSense, предоставляемой самим FeedBurner.

Решение. Есть возможность поместить любой вид рекламы в свой RSS фид. Например, можно использовать ссылку на бесплатную тему WordPress только для своих RSS подписчиков.

Для использования этого приема выполните следующие несложные действия:

1. Отредактируйте файл functions.php в своей теме. Если в вашей теме нет файла functions.php, создайте его.

2. Вставьте следующий код в файл functions.php.

<?php
function insertAds($content) {
$content = $content.'<hr /><a href="http://www.wprecipes.com">Have you visited WpRecipes today?</a><hr />';
return $content;
}
add_filter('the_excerpt_rss', 'insertAds');
add_filter('the_content_rss', 'insertAds');
?>

Сохраните файл. Теперь ваша реклама отображается в RSS фиде!

Объяснение кода. Я видел много случаев использования подобных приемов в Интернете, но они всегда требуют редактирования основных файлов WordPress, чтобы достичь такого же результата. Конечно же, редактирование основных файлов WordPress – это очень плохая идея, потому что тогда вам придется повторно редактировать эти файлы после каждого обновления движка. Вместо этого, в нашем приеме для добавления контента в RSS фид используется функция WordPress add_filter() без редактирования основных файлов движка.

4. Форматируйте свои изображения для читателей фида


изображения в фиде

Проблема. Вы потратили кучу времени, чтобы написать и отформатировать свой пост и вставить красивые скриншоты. На вашем блоге все смотрится прекрасно. Но, к сожалению, ваш пост выглядит не так красиво, когда он отображается в Google Reader или любом другом RSS ридере.

Решение. Это происходит потому, что фид-ридеры отображают картинки в тексте:

Чтобы избежать этой проблемы, добавьте класс CSS для отображения картинки отдельным блоком. В движке WordPress используется встроенный класс «center».

<img src="http://78.46.108.98/images/wordpress-rss-hacks/myimage.jpg" alt="This is my image" class="center"/>

Продолжение в следующем посте 10 полезных RSS приемов для WordPress (Окончание)

Хотите быть в курсе лучших зарубежных материалов? Тогда подписывайтесь на мой фид.

Похожие статьи:

Комментарии 13 | Рубрики: Wordpress

Комментарии:

  1. полезные советы ! спасибо за перевод и пояснения !

  2. Может вопрос глупый, но как выборочно отправлять посты в rss?=)

  3. Очень полезная вещь, спасибо!!

  4. спасибо за советы.
    На самом деле, я долго возился с перенаправлением фида с feedburneк в своё время…

  5. Я только не сейчас обратил внимание на плохие результаты валидации своего блога. Очень рад что попалась Ваша статья, но поскольку новичек в данном деле прошу помочь советом в исправлении ошибки. Рад буду если поможете! Заранее спасибо!

  6. спасибо, полезная статья, подскажите как избирательно помещать текст в RSS? у меня блог, в котором я когда то придумал как оформить музыкальный пост, но он некрасиво передается в RSS - много лишнего, менять дизайн поста на блоге неохота но RSS как то поменять нужно - вот пример поста http://www.pride-team.net/archives/2202 - не хотелось бы чтоб линии передавались, а как отфльтровать я не знаю(

  7. Отлично, спасибо.
    Оч. полезная статья.
    Взял на вооружение.

  8. Вы писали:

    Сейчас все больше и больше людей зарабатывают на RSS фиде, в том числе и многие блоггеры, которые хотят максимально увеличить свой доход.

    А как можно на нём заработать? Первый раз слышу, что на рсс можно заработать…

  9. Сейчас уже сняли ограничение на 500 подписчиков. ТЕперь любой может ставить реклааму в feed

  10. Меня интересует первый пункт, куда вставлять этот код. Я не очень ориентируюсь в коде, попытался скопировать этот код в самый конец файла после всего кода в function.php , но он у меня вылез наверху страницы сайта.

  11. И ещё один вопрос, у меня глючит фид http://feeds.feedburner.com/VictoryInvestors, на нём не отображаются уже несколько дней новые посты, может знаете в чём дело.
    Спасибо

  12. может ты закры рсс? если поставить в колл-ве рсс -1 то оно отключится

Post Your Comment

Немного о себе




Комментарий

Это не спам.
сделано dimoning.ru