Добавление миниатюры (изображения) в 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');

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

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

Комментарии 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Просто код
  Комментарии закрыты.