Добавление миниатюры (thumbnail) в 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 фид. Вот как в итоге все получилось:
Плагины добавления thumbnail в RSS
В процессе поиска хака для добавления миниатюры я увидел упоминание парочки плагинов, которые реализуют данную опцию. Подробно на них останавливаться не буду, выскажу лишь общее впечатление и их возможности.
RSS Image Widget — с помощью функции PHPThumb автоматически генерирует красивые изображения для RSS фида. Они кэшируются в wp-content/cache поэтому директория должна быть доступна для записи. Реализация какая-то немного запутанная через виджет, где нужно указать ссылку на RSS и картинки, которые будут использоваться. Учитывая неплохой рейтинг и более 17к загрузок, а также новизну плагина (доступен вплоть до WP 3.3.2) все же решил написать о нем, но лично мое мнение — какой-то он немного странный. Дабы дать конечную оценку по его работе нужно устанавливать и тестировать.
WP RSS Images — позволяет подключать картинки в фиды rss, rss2 для блога. При отображении модуль использует прикрепленную миниатюру (thumbnail) или первое изображение из списка загруженных. Описание на сайте минимально, что понравилось так это настройки:
Здесь можно не только выбрать в какой фид транслировать но и задать размер изображения. Для пользователей-новичков данный плагин будет понагляднее, хотя последняя версия и официально максимум поддерживает только WP 3.1.4. Единственное, непонятно как это все будет взаимодействовать с Feedburner, по идее автоматически должно попадать в него из rss2 фида. Опять же нужно установить и пробовать.
Тем не менее, не смотря на что есть сразу 2 неплохих плагина я все же предлагаю добавлять миниатюру в RSS с помощью хака и специального кода в файле functions.php. Возможно, это немного сложнее «переварить», но метод более гибкий в плане оформления изображения. К тому же вы не зависите от обновления плагинов для дальнейших версий вордпресс.
P.S. Почитать про онлайн доход и узнать о заработке в интернете http://devvver.ru — на нашем сайте будет полезно после решения технических вопросов с сайтом.
комментария 32 к статье “Добавление миниатюры (thumbnail) в RSS для wordpress”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Оптимизируем WordPress header и удаляем лишний код (5,19 из 7, голосов - 43)
- Как создать пункт меню без ссылки в wordpress (6,39 из 7, голосов - 23)
- Добавление кнопки Вконтакте, Facebook и Twitter в wordpress блог (6,14 из 7, голосов - 21)
- Выполнение jQuery скриптов при выборе вариаций товаров в WooCommerce (3,96 из 7, голосов - 26)
- Хаки для вариаций товаров в WooCommerce (5,00 из 7, голосов - 20)
- Вывод текста в блоге только на главной (6,85 из 7, голосов - 13)
- Как убрать category в WordPress категориях — зачем это делать, плагины для реализации (5,31 из 7, голосов - 16)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
Я пытался вставить код в файл functions.php, но каждый раз при его изменении блог перестаёт работать
pimpik, проблема может быть в том где именно вы размещаете код — проще всего добавлять в конец файла перед закрывающимися скобками для php. Возможно, вы добавили вне php кода или внутрь какой-то функции и это вызывало ошибку. Попробуйте добавить какой-то другой код в functions.php для теста.
По-моему, есть только один существенный минус — на фидбернер этот код не действует. Печалька(((
Посмоотрела у вас — вы отдаете целиковые статьи, если же отдавать анонсы — все какое-то лысое выходит.
ivolga, почему нет, скриншот в посте как раз в feedburner и взят. Все должно работать и в нем — попробуйте внести изменения как сказано в статье + отредактировать какой-то пост блога дабы feedburner обновил свой rss и вы увидели изменения.
Большое спасибо, сразу не догадалась!
Вообще заметила, что украшение ленты также повышает доход с рекламы (стоит Google Adsense). Раньше в ленте кликов не случалось. Первые пошли после оптимизации цветовой гаммы и добавления связанных постов.
ivolga, интересное замечание, обычно в ленте ничего не располагал, может попробую.
Не работает код — куда его не ставил (первым, последним) — обновляю пост — обновления видно, а картинок в ленте нет.
Alex, добавляете код в functions.php? Размещайте перед последней строкой там где закрывается PHP, то есть перед ?>
Именно туда его добавлял.
Alex, тогда тупой вопрос — а картинки (миниаютры thumbnails) для постов указаны? Если да, то даже не знаю что и предположить, код рабочий, я тестировал неоднократно. Придется вам самому искать в чем там несостыковка.
Tod — да указаны — иначе на первой странице картинки (миниатюры) к постам не вывести. Кстати даже с плагином WP RSS Images ведет себя странно — в RSS вместо картинок показывает ссылку на картинку. Ладно, буду потихоньку искать — может найду в чем беда.
Добрый час!
За тупость извиняюсь сразу, установил WP всё работает отлично!
Но при нажатии на ССЫЛКИ RSS Вылазит код:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
и т.д.
Объясните как ЭТО ЛЕЧИТСЯ!
С Уважением Александр.
Александр, посмотрел вроде бы все хорошо, у меня ошибок не возникает.
Разобрался — код заработал — надо было отключить обрезку статей на feedburner — деактивровать Summary Burner (закладка Оптимизируй) и второе обязательное условие, это в настройках WP включить публикацию анонсом (иначе тупо всю статью в фид выкидывает со всеми картинками).
====
Осталось теперь две вещи — научить RSS публиковать текст до тега more (а то весь текст тянет — сколько влезет) и крепить в конце абзаца что то типа ссылки на сайт — читать далее и т.п.
Alex, ничего себе там условия нужно соблюдать, хотя тут возможно из-за какой-то одной опции все пошло «не так», у меня Summary Burner не был включен. Кстати, пробовал как раз на анонсах, так как при полном фиде этот хак не имеет смысла — текст то весь идет:) Часть текста (анонс) в «Настройка» — «Чтение».
Почему-то у меня тоже ничего не выходит. Вставил прямо перед закрытием php, Summary burner как у Alex не был активным. Все равно голый текстовый анонс в rss уходит. Tod, не знаете куда хотя бы копать можно, чтобы исправить?
Спасибо!
P.S. Плагины еще не пробовал, просто хотелось тоже всё через functions сделать.
Павел, как показали рассуждения в комментариях, нюансов может быть много, сложно сказать наверняка.
Спасибо, это здорово! Поставил ваш код в файле functions.php. В feedburner теперь короткий анонс с миниатюрой.
У меня тоже все заработало. Действительно нужно:
1. Убрать в настройках feedburner – деактивровать Summary Burner
2. В настройках WP — установить ПАРАМЕТРы — ЧТЕНИЕ — Анонс
Спасибо Tod и Alex.
Блин, что не делаю, нет картинки в 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/ плагин в низу — Еще статьи: — как убрать ссылки с картинок, просто идет как бы две одинаковых ссылки — заголовок и картинка, аналогично плагин справа сайта, подскажете?
Не знаю уже у кого спросить, всем лень или жалко бесплатно подсказать
xppx, тут нужно много «кодинга». Во-первых, в RSS «вмешивается» сторонний плагин, который выводит похожие статьи, возможно он конфликтует с кодом. Я бы отключил плагины и попробовал этот хак и этим модули. Что касается ссылок с картинок «еще почитать», то тут, если нет такой опции в самом плагине нужно смотреть его PHP код и убирать лишние ссылки.
Сделала всё, как вы описываете. Вставила миниатюры в rss через код (без плагинов). Но вот только вместе с миниатюрой в rss вставляется и оригинал картинки (большого размера). В чём может быть причина?
Kseniya, сложно сказать, в rss точно уходит анонс новости а не заметка целиком? по-идее все должно работать, с подобным глюком я не встречался.
Здравствуйте!
Будьте добры, подскажите, пожалуйста, чайнику…
Пытаюсь настроить RSS ленту на вордпресс. В самом вордпрессе, в виджетах, присутствует RSS виджет. В моем шаблоне, в самой шапке, присутствует значок RSS и подписка на нее, кроме того, в настройках шаблона можно указать адрес ленты, адрес комментариев на Feedburner.. Также я создала фид на Feedburner. И теперь не пойму куда его поставить! В виджет? или прописать в настройках шаблона? И если не настраивать виджет, а прописывать все в шаблоне, то можно ли эти значки перенести из шапки куда-либо? Уж очень они там некрасивы…И еще, простите за наглость, при создании фида нужно было создать подписку через e-mail. Создала, висит в подвале? Что с ним теперь делать ? Я так понимаю, он нужен только если виджет настраивать?
Татьяна, советую глянуть статью по теме — Все про wordpress rss и плагин для Feedburner там есть плагин, который использовался для указания адреса ленты, раньше назывался FeedBurner FeedSmith, но сейчас вроде как уже другие модули имеются. Фишка модуля в том, пройдя по любой базовую ссылку на RSS пользователь будет переброшен на FeedBurner, то есть после модуля теоретически ничего уже менять не нужно в макете. Но лично я часто вручную в файлах шаблона тли виджетах прописываю прямую ссылку на FeedBurner.
Что касается ссылок в вашем макете — вы можете редактировать как виджеты, так и файлы шаблона, убирать их и добавлять куда угодно.
Доброе время суток, вроде всё понятно но не понятно объясните по порядку захажу я вначале во внешний вид потом нажимаю виджеты и откроются все виджеты там есть виджет RSS нажимаю добавить и вот тут что нужно прописать или написать или вообще здесь нечего не нужно делать и что в итоге отобразится если я установлю там чтото к примеру. На сайте у меня есть такой значок с поиском когда я в первые создал тему
Сергей, виджет RSS не имеет никакого отношения к тому, что описывается в данной статье:) Если я правильно понял, то он создает ссылку/кнопку для подписки на обновление блога, не более того.
подскажите виджет рсс-ленты с картинками
Станислав, не встречал такого, нужно гуглить.
Возможно кому то пригодится. Сделал кликабельную миниатюру, так гораздо удобней переходить на пост, ткнув в картинку.
Готовый код по ссылке: http://pastebin.com/eMQEJNC3