1

Тема: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

http://travelbloggers.ru/uploads/images/create-a-blog/go-to-create-a-blog.jpg

Как вставить картинку поста и ссылку "Читать дальше" в Rss WordPress блога

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

Вот, как должно получиться: http://traveliving.org/feed/.

Внимание! Статья устарела, так как нижеизложный код был оформлен в плагин RSS Manager, который можно скачать отсюда http://wordpress.org/extend/plugins/rss-manager/ или из админки вашего WordPress.

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

Если вы вообще не используете миниатюры в вашем блоге - самое время начать, это не так уж и сложно: под редактором любого поста найдите блок "Произвольные поля" и создайте новое с именем "thumbnail", а в значении пропишите ссылку на изображение.
Теперь это изображение можно использовать не только в RSS, но и в любом другом месте в блоге.

Сразу скажу, что такой метод лучше всего подходит тем, кто отправляет в RSS только анонсы постов (цитаты), а не посты целиком.
Вы можете зайти в админку вашего сайта, "Параметры->Чтение" (Options->Reading) и там выбрать "Для каждой статьи в ленте отображать" -> "Анонс". Тогда ваш блог будет показывать текст из поля "Цитата", которое можно найти под редактором каждого поста. Если это поле пустое, то пост будет обрезан автоматически и будет показано только его начало.

Теперь скопируйте следующую функцию и вставите ее в файл functions.php из папки вашей темы (шаблона) в рамках тегов <?php и ?>.

function my_rss($content) {      // Функция перехватывает содержимое поста и запоминает его в переменную $content

$thumbnail_custom_field_name = 'thumbnail'; //Введите сюда название произвольного поля ваших картинок для постов

$readmore_text = "Читать дальше...";  //вписываем сюда текст ссылки, которая появится после содержимого

global $wp_query;  //В этой переменной хранятся все данные обрабатываемого поста

$post_id = $wp_query->post->ID; //Находим ID поста

$post_title = get_the_title($post_id); //Название поста

$post_url = get_permalink($post_id);    //Ссылку на пост

$post_thumbnail = get_post_meta($post_id, $thumbnail_custom_field_name, true); //Берем ссылку на картинку из произвольного поля с названием thumbnail

if(is_feed()) {   //Если выводится RSS

if($post_thumbnail !== '') {   //Если адрес картинки найден

$updated_content .= "<a href='$post_url' title='$post_title'><img src='$post_thumbnail' border='0' /></a>"; //Добавляем картинку со сылкой        

$updated_content .= "<br /><br />"; //Добавляем отступ после картинки

}  //Если адрес картинки не найден, то сразу переходим сюда: 

$updated_content .=  $content ; //Добавляем содержимое поста

$updated_content .= "<br /><br />"; //Добавляем отступ после текста

$updated_content .= "<b>(<a href='$post_url' title='$post_title'>$readmore_text</a>)</b>"; // Добавляем ссылку "Читать дальше" после содержимого.

}

else {     //Если это вообще не RSS:

$updated_content = $content; //Просто копируем содержимое

}
return $updated_content; //Возвращаем обработанное содержимое

}

add_filter('the_excerpt_rss', 'my_rss'); //Добавляем функцию к выводу сокращенного RSS (анонсов)

add_filter('the_content', 'my_rss'); //Добавляем функцию к выводу полного RSS

Обратите внимание на самое начало кода, если вы хотите, чтобы он заработал у вас, то в строчке $thumbnail_custom_field_name = 'thumbnail';  нужно указать название произвольного поля для ваших картинок (вместо красного).

После сохранения файла, изменения появятся не сразу, особенно, если вы используете feedburner. Если ничего не изменилось - подождите полчасика перед тем, как паниковать  ;)

P.S. Есть, конечно, метод проще - ручная правка файлов feed-rss.php и feed-rss2.php, но тогда вам придется править эти файлы после каждого обновления WordPress.

http://travelbloggers.ru/uploads/images/create-a-blog/go-to-create-a-blog.jpg

2

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

ajayver пишет:

P.S. Есть, конечно, метод проще - ручная правка файлов feed-rss.php и feed-rss2.php, но тогда вам придется править эти файлы после каждого обновления WordPress.

Или ещё проще - плагин)

3

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

sputnik1818 пишет:

Или ещё проще - плагин)

А что есть такой плагин? Я так и не смог найти...

4

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

ajayver пишет:
sputnik1818 пишет:

Или ещё проще - плагин)

А что есть такой плагин? Я так и не смог найти...

Так я доделал ТОТ плагин о котором мы давно разговаривали:)
Нормально он пашет на паре сайтов;)
Хотя по хорошему сделать ещё админку бы и чтобы пользователь вводил код фида туда.
Просто - не есть хорошо пихать всё в functions.php. Хотя если делаешь это для одного блога - то без разницы.

5

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

sputnik1818 пишет:

Так я доделал ТОТ плагин о котором мы давно разговаривали:)

Ты там менял код? Поделись ссылочкой пожалуйста. Я позже его изучал и понял, что на последнем вордпрессе он физически не мог работать, из-за того что не тот хук использовался. Но если ты его после правил, давай проверю, и надо его тоже в репозиторий выложить.

Я просто думал этот код оформить в плагин...

6 Отредактировано sputnik1818 (23.02.2011 06:51)

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

Код если и менял, то несильно. Код у меня "грязный", на замене файлов основывается... Примерно в том виде, что и был.
Работает прекрасно на версии Wordpress 3.0.1 (сейчас обновим).

Оформлять лучше в плагин для репозитария именно твой код. Если хочешь его выложить в репозитарий есть одно "НО", получается некий стандартный фид...
Чтобы сделать его нестандартным сделай админку с входящими параметрами.

Если хочешь я могу сделать, так как в теме и мне это интересно и пришлю тебе (я с репозитарием заморачиваться не хочу, выложишь под своим именем).

Плюс есть идея для этого плагина:
"Стандартные темы оформления", то есть человек видит примеры оформления и выбирает как ему оформить свой фид...

Ps. Выслал тебе плагин, что наваял за 2 часа)

7

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

Если вы вообще не используете миниатюры в вашем блоге - самое время начать, это не так уж и сложно: под редактором любого поста найдите блок "Произвольные поля" и создайте новое с именем "thumbnail", а в значении пропишите ссылку на изображение.

Аджей,я не могу найти такой блок , где он находится? И как на английском ?

8

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

lunalin пишет:

Аджей,я не могу найти такой блок , где он находится? И как на английском ?

Он называется Custom fields. Если у тебя его нет, нажми справа сверху "Настройки Экрана" и поставь там галочки везде.

9

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

ajayver пишет:
lunalin пишет:

Аджей,я не могу найти такой блок , где он находится? И как на английском ?

Он называется Custom fields. Если у тебя его нет, нажми справа сверху "Настройки Экрана" и поставь там галочки везде.

Ок, появилось, да. То есть мне надо будет в каждом посте добавлять это поле и присваивать ему значение - адресс фотки, которую я хочу видеть в Rss?

10

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

lunalin пишет:
ajayver пишет:
lunalin пишет:

Аджей,я не могу найти такой блок , где он находится? И как на английском ?

Он называется Custom fields. Если у тебя его нет, нажми справа сверху "Настройки Экрана" и поставь там галочки везде.

Ок, появилось, да. То есть мне надо будет в каждом посте добавлять это поле и присваивать ему значение - адресс фотки, которую я хочу видеть в Rss?

кстати фотку для RSS надо отдельно уменьшить до подходящего размера и вставлять линк уже на уменьшенную?

11

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

Ага, линк лучше вставлять на уменьшенную.

Мы тут с Димой плагин написали, который все это дело автоматизирует, правда все никак руки не дойдут до его публикации.
Надо будет завтра сесть и доделать...

12

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

ajayver пишет:

Ага, линк лучше вставлять на уменьшенную.

Мы тут с Димой плагин написали, который все это дело автоматизирует, правда все никак руки не дойдут до его публикации.
Надо будет завтра сесть и доделать...

Спасибо, все сделала, правда я не делаю маленьких фоток для анонса. Может буду делать для RSS или большие буду вставлять.... а что насчет видео?
Плагин может и не нужен, т.к. у меня не у каждого поста есть фото.

13

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

Алина, если у тебя фотки не в каждом посте будут, и видео, то тебе лучше не заморачиваться с этим способом. Ты можешь просто пользоваться обычным тегом more, которые как lj cut действует или писать в поле "Цитата" тот текст, видео или фото, которые ты хочешь ивдеть в rss.
Описанный выше метод нужен для автоматизации рутинной работы на сайтах, где все всегда одинаково и каждый раз в цитату приходится вписывать код фотки и код сслыки читать дальше вручную.

14

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

ajayver пишет:

Алина, если у тебя фотки не в каждом посте будут, и видео, то тебе лучше не заморачиваться с этим способом. Ты можешь просто пользоваться обычным тегом more, которые как lj cut действует или писать в поле "Цитата" тот текст, видео или фото, которые ты хочешь ивдеть в rss.
Описанный выше метод нужен для автоматизации рутинной работы на сайтах, где все всегда одинаково и каждый раз в цитату приходится вписывать код фотки и код сслыки читать дальше вручную.

спасибо, Аджей, я его уже сделала, буду пользоваться когда надо:)

15

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

http://wordpress.org/extend/plugins/rss-manager/ -  плагин готов!

16

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

ajayver пишет:

http://wordpress.org/extend/plugins/rss-manager/ -  плагин готов!

А между тем - у плагина юбилей прошел - больше 1000 человек его скачало:) а не прошло и месяца :yahoo:

17

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

sputnik1818 пишет:
ajayver пишет:

http://wordpress.org/extend/plugins/rss-manager/ -  плагин готов!

А между тем - у плагина юбилей прошел - больше 1000 человек его скачало:) а не прошло и месяца :yahoo:

И, кстати, ни одной жалобы! Хорошо поработали значит :)

18

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

Аджей, классно что Вы уже плагины делаете самостоятельно!  :yahoo: Помогите разобраться как плагин работает - как я понял надо к каждому посту прибавлять в произвольное поле с именем thumbnail и значением картинки, у меня  http://lifewithoutdrugs.org/wp-content/ … 50x150.jpg
Плагин естественно установил И после этого в моей РСС картинка должна появится ... а чего-то нет? Или я не понял чего-то?  :/

Семейный блог Жизнь с мечтой!

19

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

sunny_sasha пишет:

а чего-то нет? Или я не понял чего-то?

Просто RSS лента обновляется не сразу. У меня видно картинку в вашем RSS.

20

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

ajayver пишет:

Просто RSS лента обновляется не сразу. У меня видно картинку в вашем RSS.

Благодарю Аджей!!!  :good:

Семейный блог Жизнь с мечтой!

21 Отредактировано kozir (24.07.2012 11:49)

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

Аджей, плагин установил, но картинки в RSS почему-то не появляются, в чем может быть причина?

Настройки плагина прилагаю.

Post's attachments

1.gif 32.91 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

22

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

А как вы привязываете миниатюры к постам?

23

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

ajayver пишет:

А как вы привязываете миниатюры к постам?

ммм хороший вопрос, никак не привязываю.... *SCRATCH*
Насколько я понимаю, при загрузке картинок в пост вордпресс самостоятельно делает миниатюры. Я пытался задавать миниатюру в редактировании поста справа внизу и миниатюра как положено появляется при публикации поста. Но мне она при публикации не нужна, т.к. я использую для этого полноразмерные картинки и до тега more получается такая ерунда, при которой сначала идет миниатюра, потом полноразмерная картинка и потом кусок текста.

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

В приложении для наглядности скрин

Post's attachments

2.gif 173.39 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

24

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

Если не хотите использовать стандартные миниатюры WP, то создайте в посте произвольное поле с названием thumbnail и значением - ссылкой на фотку, которую хотите вывести в rss. Если у вас не видно произвольных полей в редакторе поста, то их надо включить в настройках вида (custom fields).
Или можно отредактировать щаблон, чтобы он не показывал стандартные миниатюры на главной, но это сложнее.

25

Re: Как вставить картинку поста и ссылку "Читать дальше" в Rss блога

А, понял, спасибо :) При следующем посте попробую сделать кастом филд