Добавление миниатюры (изображения) в RSS ленту

Существует два варианта отображения RSS:

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

Второй — полностью вся статья.

отображений статей в RSS-ленте, WordPress

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

Поэтому (ну возможно и по какой-то своей причине), многие популярные забугорные сайты используют полностью всю статью в RSS-ленте.

Но на мой взгляд это сильно ударит по посещаемости сайта, просто зачем мне переходить на сайт, если всё что надо есть в RSS-фиде?

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

К счастью править файлы движка не придётся, нужно будет лишь добавить код ниже в functions.php

Для свежих версий WordPress будет вот такой скрипт для вывода миниатюр в RSS-ленте:

function thumbs_in_rss($content) {
	global $post;
	if(has_post_thumbnail($post->ID)){
		$thumb = '<div style="float: left; padding: 0 10px 5px 0;">'.get_the_post_thumbnail( $post->ID, 'thumbnail' ).'</div>';
		$content = $thumb . $content;
	}
	return $content;
}
 
add_filter('the_excerpt_rss', 'thumbs_in_rss');
add_filter('the_content_feed', 'thumbs_in_rss');

Для версий ниже 2.9.0 (с использованием произвольных полей):

function thumbs_in_rss($content) {
	global $post;
	if(get_post_meta($post->ID, 'post_thumbnail', true)){
		$thumb = '<div style="float: left; padding: 0 10px 5px 0;">'.get_post_meta($post->ID, 'post_thumbnail', true).'</div>';
		// post_thumbnail - регистрозависимое название произвольного поля
		$content = $thumb . $content;
	}
	return $content;
}
 
add_filter('the_excerpt_rss', 'thumbs_in_rss');
add_filter('the_content_feed', 'thumbs_in_rss');

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

Подпишитесь, чтобы раз в неделю получать свежие статьи с блога по email.

Смотрите также

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

  • ShowMan19 октября 2012 в 13:10 #

    Спасибо за совет. Все работает, использовал для своего блога. Теперь rss не такая тоскливая.

  • adward8 августа 2014 в 01:08 #

    у меня слетает кодировка в rss:

    http://tatar-congress.org/category/yanalyklar/feed/

    хотя, другой rss с этого же сайта - работает:

    http://tatar-congress.org/ru/category/blog/feed/

    вы не знаете, как в этот же код вписать строку, которая отдавала бы (или конвертировала бы) вывод в UTF-8?

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...