Место для вас

Редактирование RSS-ленты для wordpress

Wordpress имеет встроенную RSS ленту. Разработчики об этом позаботились заранее. Класс. Но все же бывают случаи, когда стандартного отображения RSS ленты не достаточно...

Для модификации RSS ленты нужно добавить фильтры в файл functions.php

Добавляем миниатюры к фиду RSS:


// Add thumbsIMG to RSS
function feedFilter($query)
{
   if ($query->is_feed)
   {
      add_filter('the_content', 'feedContentFilter');
   }
   return $query;
}

add_filter('pre_get_posts','feedFilter');

function feedContentFilter($content)
{
   $thumbId = get_post_thumbnail_id();
   if($thumbId)
   {
      $img = wp_get_attachment_image_src($thumbId);
      $image = '<img align="left" src="'. $img[0] .'" />';
      echo $image;
   }
   return $content;
}

Контролируем, сколько записей появятся в фиде:

В панели администратора в Параметры -> Чтение можно установить, количество записей, которое будет показано на страницах сайта и, соответственно, в фиде. Однако, часто требуется показывать в фиде больше записей, чем выводится их на сайте. Например, обычно на сайте выводится по 10 записей, но, допустим, вы хотите выводить в фиде большее количество! Для этого можно использовать следующий код:


// quantity posts in RSS-feed
function feedFilter($query)
{
   if ($query->is_feed)
   {
      // выводим 20 последних записей
      $query->set('posts_per_page','20');
   }
   return $query;
}
add_filter('pre_get_posts','feedFilter');

Показываем записи только из одной категории:

Обычно это не используются, но может быть в зависимости от требований сайта, нужно публиковать записи только из определенной категории. В таком случае можно использовать такой код:


function feedFilter($query)
{
   if ($query->is_feed)
   {
      // blog - название категории
      $query->set('category_name', 'blog');
   }
   return $query;
}
add_filter('pre_get_posts','feedFilter');

Место для вас

Добавить коментарий

кликните на картинку,
чтоб обновить код

Что за сайт

Этот сайт представляет унифицированную базу, где инфа собрана в единое целое, а не разбросанна по многочисленным сайтам, записям на листах бумаги или головам людей; а так же доступна круглосуточно не зависимо от кого-либо или чего-либо.

Будь в курсе

Интересненько

Вверх