Май
15
32

Добавление миниатюры (thumbnail) в RSS для wordpress

rss для wordpressПро добавление и установку миниатюр (thumbnail) для wordpress я уже писал, реально полезная функция, внедренная еще с версии 2.9. Они позволяют достаточно гибко использовать изображения поста в шаблоне блоге, отображая его так, как вам будет нужно. Единственной проблемой, наверное, можно все же считать отсутствие миниатюр (превью) в RSS ленте. С одной стороны это вроде как логично — в теме нужно специально задавать отображение миниатюр, поэтому и в RSS автоматически они не добавляются. С другой стороны — не часто встречаю этот хак в шаблоне, и не каждый пользователь сможет его применить. Ранее я уже, в принципе, мельком рассказывал о решении проблемы, но сегодня чуть более подробно на ней остановлюсь.

По умолчанию RSS лента блога для wordpress достаточно проста, поэтому имеет смысл ее немного приукрасить. Во-первых, можно подключить для RSS Feedburner, который имеет несколько весьма полезных настроек. Во-вторых, можно дополнительно добавить информацию блога в RSS, например, о тегах, связных записях и категориях статей. Следующим третьим пунктом я бы как раз и отметил миниатюры (thumbnail) для постов, если вы их используете на своем сайте.

Хак для решения этой задачи можно найти в интернет на многих сайтах про wordpress. Суть не сложая — в файле functions.php нужно добавить следующий код:

function diw_post_thumbnail_feeds($content) {
	global $post;
	if(has_post_thumbnail($post->ID)) {
		$content = '<div>' . get_the_post_thumbnail($post->ID) . '</div>' . $content;
	}
	return $content;
}
add_filter('the_excerpt_rss', 'diw_post_thumbnail_feeds');
add_filter('the_content_feed', 'diw_post_thumbnail_feeds');

Здесь, собственно, в функции diw_post_thumbnail_feeds прописывается добавление миниатюры к контенту, после чего она используется при отображении RSS фидов с помощью the_excerpt_rss и the_content_feed. В принципе, можно определить и другие варианты добавления миниатюры, я использовал вот такую вот строку вместо стандартной:

$content = '<div style="float: right; margin: 0px 0px 5px 5px;">' . get_the_post_thumbnail($post->ID,$size='thumbnail') . '</div>' . $content . '<br/><br/>';

Здесь два момента — выравнивание для картинки относительно текста + отображения именно миниатюры (thumbnail), а не полноценной картинки. Картинки быть большими и в тексте смотреться мягко говоря не очень, поэтому данный код поможет сделать более симпатичный RSS фид. Вот как в итоге все получилось:

изображение в rss для wordpress

Плагины добавления thumbnail в RSS

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

RSS Image Widget — с помощью функции PHPThumb автоматически генерирует красивые изображения для RSS фида. Они кэшируются в wp-content/cache поэтому директория должна быть доступна для записи. Реализация какая-то немного запутанная через виджет, где нужно указать ссылку на RSS и картинки, которые будут использоваться. Учитывая неплохой рейтинг и более 17к загрузок, а также новизну плагина (доступен вплоть до WP 3.3.2) все же решил написать о нем, но лично мое мнение — какой-то он немного странный. Дабы дать конечную оценку по его работе нужно устанавливать и тестировать.

WP RSS Images — позволяет подключать картинки в фиды rss, rss2 для блога. При отображении модуль использует прикрепленную миниатюру (thumbnail) или первое изображение из списка загруженных. Описание на сайте минимально, что понравилось так это настройки:

плагин WP RSS Images

Здесь можно не только выбрать в какой фид транслировать но и задать размер изображения. Для пользователей-новичков данный плагин будет понагляднее, хотя последняя версия и официально максимум поддерживает только WP 3.1.4. Единственное, непонятно как это все будет взаимодействовать с Feedburner, по идее автоматически должно попадать в него из rss2 фида. Опять же нужно установить и пробовать.

Тем не менее, не смотря на что есть сразу 2 неплохих плагина я все же предлагаю добавлять миниатюру в RSS с помощью хака и специального кода в файле functions.php. Возможно, это немного сложнее «переварить», но метод более гибкий в плане оформления изображения. К тому же вы не зависите от обновления плагинов для дальнейших версий вордпресс.

P.S. Почитать про онлайн доход и узнать о заработке в интернете http://devvver.ru — на нашем сайте будет полезно после решения технических вопросов с сайтом.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 6, средний балл: 5,83 из 7)
Загрузка...

категория Категории: Хаки и секреты;
теги Теги: , , , , , .

комментария 32 к статье “Добавление миниатюры (thumbnail) в RSS для wordpress”

  • pimpik   24.05.2012

    Я пытался вставить код в файл functions.php, но каждый раз при его изменении блог перестаёт работать

  • Tod   24.05.2012

    pimpik, проблема может быть в том где именно вы размещаете код — проще всего добавлять в конец файла перед закрывающимися скобками для php. Возможно, вы добавили вне php кода или внутрь какой-то функции и это вызывало ошибку. Попробуйте добавить какой-то другой код в functions.php для теста.

  • ivolga   31.05.2012

    По-моему, есть только один существенный минус — на фидбернер этот код не действует. Печалька(((
    Посмоотрела у вас — вы отдаете целиковые статьи, если же отдавать анонсы — все какое-то лысое выходит.

  • Tod   31.05.2012

    ivolga, почему нет, скриншот в посте как раз в feedburner и взят. Все должно работать и в нем — попробуйте внести изменения как сказано в статье + отредактировать какой-то пост блога дабы feedburner обновил свой rss и вы увидели изменения.

  • ivolga   31.05.2012

    Большое спасибо, сразу не догадалась!

    Вообще заметила, что украшение ленты также повышает доход с рекламы (стоит Google Adsense). Раньше в ленте кликов не случалось. Первые пошли после оптимизации цветовой гаммы и добавления связанных постов.

  • Tod   31.05.2012

    ivolga, интересное замечание, обычно в ленте ничего не располагал, может попробую.

  • Alex   06.06.2012

    Не работает код — куда его не ставил (первым, последним) — обновляю пост — обновления видно, а картинок в ленте нет.

  • Tod   07.06.2012

    Alex, добавляете код в functions.php? Размещайте перед последней строкой там где закрывается PHP, то есть перед ?>

  • Alex   07.06.2012

    Именно туда его добавлял.

  • Tod   07.06.2012

    Alex, тогда тупой вопрос — а картинки (миниаютры thumbnails) для постов указаны? Если да, то даже не знаю что и предположить, код рабочий, я тестировал неоднократно. Придется вам самому искать в чем там несостыковка.

  • Alex   07.06.2012

    Tod — да указаны — иначе на первой странице картинки (миниатюры) к постам не вывести. Кстати даже с плагином WP RSS Images ведет себя странно — в RSS вместо картинок показывает ссылку на картинку. Ладно, буду потихоньку искать — может найду в чем беда.

  • Александр   08.06.2012

    Добрый час!
    За тупость извиняюсь сразу, установил WP всё работает отлично!
    Но при нажатии на ССЫЛКИ RSS Вылазит код:
    This XML file does not appear to have any style information associated with it. The document tree is shown below.

    и т.д.
    Объясните как ЭТО ЛЕЧИТСЯ!
    С Уважением Александр.

  • Tod   08.06.2012

    Александр, посмотрел вроде бы все хорошо, у меня ошибок не возникает.

  • Alex   08.06.2012

    Разобрался — код заработал — надо было отключить обрезку статей на feedburner — деактивровать Summary Burner (закладка Оптимизируй) и второе обязательное условие, это в настройках WP включить публикацию анонсом (иначе тупо всю статью в фид выкидывает со всеми картинками).
    ====
    Осталось теперь две вещи — научить RSS публиковать текст до тега more (а то весь текст тянет — сколько влезет) и крепить в конце абзаца что то типа ссылки на сайт — читать далее и т.п.

  • Tod   09.06.2012

    Alex, ничего себе там условия нужно соблюдать, хотя тут возможно из-за какой-то одной опции все пошло «не так», у меня Summary Burner не был включен. Кстати, пробовал как раз на анонсах, так как при полном фиде этот хак не имеет смысла — текст то весь идет:) Часть текста (анонс) в «Настройка» — «Чтение».

  • Павел   22.06.2012

    Почему-то у меня тоже ничего не выходит. Вставил прямо перед закрытием php, Summary burner как у Alex не был активным. Все равно голый текстовый анонс в rss уходит. Tod, не знаете куда хотя бы копать можно, чтобы исправить?

    Спасибо!

    P.S. Плагины еще не пробовал, просто хотелось тоже всё через functions сделать.

  • Tod   22.06.2012

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

  • Сергей   30.10.2012

    Спасибо, это здорово! Поставил ваш код в файле functions.php. В feedburner теперь короткий анонс с миниатюрой.

  • Olga   12.12.2012

    У меня тоже все заработало. Действительно нужно:
    1. Убрать в настройках feedburner – деактивровать Summary Burner
    2. В настройках WP — установить ПАРАМЕТРы — ЧТЕНИЕ — Анонс

    Спасибо Tod и Alex.

  • xppx   17.02.2013

    Блин, что не делаю, нет картинки в rss хоть плачь, вот что получается http://feeds.feedburner.com/xppxx,
    а при переходе с rss такая ссылка http://www.xppxx.ru/znachenie-pravilnoj-biznes-idei-v-krizis/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+xppxx+%28%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%BA%D0%B8+%D0%BE%D0%B1%D0%BE+%D0%B2%D1%81%D1%91%D0%BC+%D0%BD%D0%B0+%D1%81%D0%B2%D0%B5%D1%82%D0%B5%21%29&utm_content=FeedBurner

    Есть еще пара вопросов, конечно не по этой теме, но все же.

    вот такая проблема — http://www.xppxx.ru/shevchenko-budet-igrat-v-indonezii/ плагин в низу — Еще статьи: — как убрать ссылки с картинок, просто идет как бы две одинаковых ссылки — заголовок и картинка, аналогично плагин справа сайта, подскажете?

    Не знаю уже у кого спросить, всем лень или жалко бесплатно подсказать

  • Tod   17.02.2013

    xppx, тут нужно много «кодинга». Во-первых, в RSS «вмешивается» сторонний плагин, который выводит похожие статьи, возможно он конфликтует с кодом. Я бы отключил плагины и попробовал этот хак и этим модули. Что касается ссылок с картинок «еще почитать», то тут, если нет такой опции в самом плагине нужно смотреть его PHP код и убирать лишние ссылки.

  • Kseniya   03.05.2013

    Сделала всё, как вы описываете. Вставила миниатюры в rss через код (без плагинов). Но вот только вместе с миниатюрой в rss вставляется и оригинал картинки (большого размера). В чём может быть причина?

  • Tod   03.05.2013

    Kseniya, сложно сказать, в rss точно уходит анонс новости а не заметка целиком? по-идее все должно работать, с подобным глюком я не встречался.

  • Татьяна   11.06.2013

    Здравствуйте!
    Будьте добры, подскажите, пожалуйста, чайнику…
    Пытаюсь настроить RSS ленту на вордпресс. В самом вордпрессе, в виджетах, присутствует RSS виджет. В моем шаблоне, в самой шапке, присутствует значок RSS и подписка на нее, кроме того, в настройках шаблона можно указать адрес ленты, адрес комментариев на Feedburner.. Также я создала фид на Feedburner. И теперь не пойму куда его поставить! В виджет? или прописать в настройках шаблона? И если не настраивать виджет, а прописывать все в шаблоне, то можно ли эти значки перенести из шапки куда-либо? Уж очень они там некрасивы…И еще, простите за наглость, при создании фида нужно было создать подписку через e-mail. Создала, висит в подвале? Что с ним теперь делать ? Я так понимаю, он нужен только если виджет настраивать?

  • Tod   12.06.2013

    Татьяна, советую глянуть статью по теме — Все про wordpress rss и плагин для Feedburner там есть плагин, который использовался для указания адреса ленты, раньше назывался FeedBurner FeedSmith, но сейчас вроде как уже другие модули имеются. Фишка модуля в том, пройдя по любой базовую ссылку на RSS пользователь будет переброшен на FeedBurner, то есть после модуля теоретически ничего уже менять не нужно в макете. Но лично я часто вручную в файлах шаблона тли виджетах прописываю прямую ссылку на FeedBurner.
    Что касается ссылок в вашем макете — вы можете редактировать как виджеты, так и файлы шаблона, убирать их и добавлять куда угодно.

  • Сергей   24.10.2013

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

  • Tod   25.10.2013

    Сергей, виджет RSS не имеет никакого отношения к тому, что описывается в данной статье:) Если я правильно понял, то он создает ссылку/кнопку для подписки на обновление блога, не более того.

  • Станислав   26.10.2013

    подскажите виджет рсс-ленты с картинками

  • Tod   26.10.2013

    Станислав, не встречал такого, нужно гуглить.

  • Сергей   31.12.2013

    Возможно кому то пригодится. Сделал кликабельную миниатюру, так гораздо удобней переходить на пост, ткнув в картинку.

    Готовый код по ссылке: http://pastebin.com/eMQEJNC3

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


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости