прикольные PHP библиотеки для ваших проектов

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');