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
Плагин естественно установил И после этого в моей РСС картинка должна появится ... а чего-то нет? Или я не понял чего-то?  :/

LifeWithoutDrugs.org
Дорога возникает под шагами идущего...

19

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

sunny_sasha пишет:

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

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

20

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

ajayver пишет:

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

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

LifeWithoutDrugs.org
Дорога возникает под шагами идущего...