Добавление миниатюры (изображения) в 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 или следите за мной в социальных сетях.
  • Vladislav: Подправил имеющийся у меня код, по вашим рекомендациям, миниатюры начали отображаться, но они стали очень огромными, что...

  • Миша: Лишь предложил решение. Думаю можно нашаманить и так, чтобы чисто для рубрик было, не уверен только, что обойдётся без и...

  • Алексей: так надо комментарии в рубриках, а не на страницах в category.php а не в page.php

  • Миша: Здравствуйте! Сам WordPress это не поддерживает, но можно пойти хитрым путём. Первое, что пришло мне в голову, это:...

  • Алексей: Миша, здравствуйте! Подскажите, пожалуйста, что нужно, чтобы сделать комментарии на страницах рубрик. Я когда то давно...