Как добавить текст в ленту RSS


RSS лентыиспользуют активно почти все блоги и сайты работающие под управлением WordPress. Создание RSS ленты в WordPress осуществляется автоматически, необходимо только вывести ссылку указывающую на RSS ленту в удобное для Вас место. Обычно это шапка сайта или боковая панель - сайдбар.

Когда читатели подпишутся на вашу ленту, они будут оперативно получать последние публикуемые статьи на свой ридер агрегатор. Получат они соответственно точную копию статьи, опубликованной на сайте. Именно в этом месте мы и можем настроить выход ленты RSS так, как нам хотелось бы.

Многие обрезают статьи перед тем как выкинуть их в ленту, оставляя небольшой анонс дабы заинтриговать читателя и заставить его перейти на сам сайт. Другие же публикуют статьи целиком. Оба эти варианта имеют как плюсы так и минусы. Лично я думаю, что обрезание статьи будет не совсем удобным приёмом для конечных читателей, а ведь именно для них мы и пишем свои статьи. Тем более что читатель может скачать ленты с интернета, и читать их уже позже офлайн, например в поездке. В конечном итоге всё это дела вкуса автора блога.

Что же ещё мы можем сделать полезного с информацией в ленте. Можем например, разместить какую-нибудь информацию или объявления, можем разместить рекламу или google analitics, словом, то что Вам в данный момент кажется будет интересным для Вас. Также например, Вы можете разместить:

  • Ссылку на вашу страничку в Твиттере, Фейсбуке или любых других социальных сетях;
  • Замечание о Ваших авторских правах на Вашу статью;
  • Ссылки на похожие посты или другие посты из этой категории;
  • Ссылки на другие ресурсы, которыми Вы владеете;
  • Реклама, правда наиболее целесообразно для большого числа подписчиков;

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

Я расскажу о более простом. Нам потребуется добавить код в наш файл функций темы. Этот код использует систему фильтров, которая интегрирована в WordPress, и которая ловит контент, изменяет его и отправляет его дальше с новым содержанием.

Использовать фильтры достаточно просто. Нужно добавить код в файл functions.phpВашей темы. Структура кода в основе выглядит так:

function contentModifier ($contentToFilter) {
// do stuff with content
return $contentToFilter;
}

add_filter('filterName', 'contentModifier ');

Для тех, кому интересно, описание фильтров можно найти здесь.

Чтобы добавить нужную мне информацию в ленту RSS, я использовал два фильтра. Фильтры называются the_excerpt_rssи the_content_rss. Когда фильтр выполняется, данные, которые нужно модифицировать, передаются в функцию, Вы определяете как содержимое должно измениться и после возвращается назад.

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

function bm_rssContent($content) {
	$content = $content . '<p>Понравился этот блог? Почему бы Вам не <a href="http://twitter.com/mainviewru">следовать за мной на Twitter</a></p>';
	return $content;
}
add_filter('the_excerpt_rss', 'bm_rssContent');
add_filter('the_content_feed', 'bm_rssContent');

Помимо текста, в ленту новостей можно добавить и миниатюры. Сделать это можно по такому же принципу:

function insertThumbnailRSS($content) {
global $post;
if ( has_post_thumbnail( $post->ID ) ){
$content = '<p>' . get_the_post_thumbnail( $post->ID, 'medium' ) . '</p>' . $content;
}
return $content;
}

add_filter('the_excerpt_rss', 'insertThumbnailRSS');
add_filter('the_content_feed', 'insertThumbnailRSS');

Я уверен, у Вас найдётся множество идей для применения. За идею спасибо Бену Гиллбанксу.

http://www.binarymoon.co.uk/2010/02/easily-add-custom-content-wordpress-rss-feed/

 

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

Смотреть полный каталог качественных тем и шаблонов

Здесь Вы можете выбрать из более чем 46 000 готовых дизайнов. Шаблоны сайтов + установка + хостинг + персонализация + поисковая оптимизация + копирайтинг — все эти услуги вы всегда можете получить от профессионалов мирового уровня!

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

17 + 16 =