Максим Покровский

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

Сделал за последнее время:


  • Добавил в портфель около 48-и новых работ:

  • Сделал очень много всяких штук при работе над поддержкой сайтов.
    Как бы это теперь в портфель запихнуть?

Заказать мне работу
01.09

Как вывести в rss мета-данные

Комментарии (5) wordpress

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

Задача решилась так. Ищем файл feed-rss2.php, он лежит в каталоге wp-include.
Сие и есть наша структура rss.

Формируем запрос и загоняем в переменную вывод картинки.

 <php
  $query = 'SELECT * FROM '.$wpdb->postmeta.' WHERE post_id = '.$post->ID.' AND meta_key LIKE "ImageURL" LIMIT 1';
  $image = $wpdb->get_row($query, OBJECT);
  $thumb = ($image ? '<img src="'.$image->meta_value.'" alt="'.$post->post_title.'" /><br />' : '' );
?>

Мне нужно вывести картинку в акурат над аннотацией. Ищем:

<description><![CDATA[<?php the_excerpt_rss() ?>]]></description>

и меняем его на:

<description>< ![CDATA[<?php print $thumb; the_excerpt_rss() ?>]]></description>

Где $thumb и есть моя картинка.

Все. Делов то, да? Таким образом можно выводить любые метаданные.

Метки:

Комментарии

  1. 1
    Plohoy (14.09.2008) #

    Огромное спасибо

  2. 2
    Vladimir (27.09.2008) #

    1. Вместо ‘LIKE “ImageURL”‘ всё же лучше использовать проверку на равенство – она гарантированно будет использовать индексы, если это возможно.
    2. А вметсто запроса лучше было бы использовать get_postmeta($post->ID, ‘ImageURL’), так как это официальный способ (использовать API всё же лучше, чем обращаться к БД напрямую).
    3. К $post->post_title, вставляемому в ALT картинки, стоит применить attribute_escape(). Это гарантирует, что XML не побьётся, если в заголовке поста используются обыкновенные кавычки или даже HTML-тэги

    А в целом идея супер!

  3. 3
    Максим Покровский (27.09.2008) #

    Спасибо за рекомендации. Применю.

  4. 4
    Dmitrii (10.03.2009) #

    Спасиб, попробуем.

  5. 5
    Плагин Add code to RSS » PokrovBlog | Максим Покровский. Веб-дизайн устами фрилансера, глазами дизайнера и руками верстальщика. (30.11.2009) #

    [...] Email30.11Плагин Add code to RSS Комментарии (0) MiscЯ уже делился (http://pokrovskii.com/kak-vyvesti-v-rss-meta-dannye/) способом которым можно расширить вашу RSS ленту. Его [...]

Они читают меня, я читаю их

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

    Rambler's Top100