Есть колхозный вариант. Снять ленту последних новостей с главной, затем разбить на блоки рубрик и удалить ненужную. Поставить RSS для Яндекс.Новостей и исключить ее посредством нажатия на checkbox в меню плагина.
grazer, попробуйте, как вариант, в index.php темы перед циклом вывода постов добавить строку:
Код:
<?php query_posts('cat=-ID'); ?>
где вместо ID вписываете категорию, посты которой нужно исключить. Но это спасает только от главной. А вот с RSS надо с фильтрами возиться, либо плагин ставить. Вообще в документации можно примеры использования функции query_posts найти (вот здесь). Может они натолкнут на какую-либо мысль.
---------- Сообщение добавлено 09:48 ---------- Предыдущее 09:38 ----------
Нашел на англоязычном блоге вот такой простой способ как убрать. Добавляете в functions.php темы следующее:
Код:
function myFeedExcluder($query) {
if ($query->is_feed) {
$query->set('cat','-12');
}
return $query;
}
add_filter('pre_get_posts','myFeedExcluder');
Но если развить идею и расширить условие, то можно попробовать и с главной страницы убрать, то есть вот такой код попробовать использовать:
Код:
function myFeedExcluder($query) {
if ($query->is_feed || $query->is_home) {
$query->set('cat','-12');
}
return $query;
}
add_filter('pre_get_posts','myFeedExcluder');
12 - ID категории.
Всё-таки решил добавить ссылку на пост, откуда функцию дернул, потому как там описаны 4 разных способа, как убрать категорию из RSS-ленты и один из самых интересных - через сам FeedBurner.
Последний раз редактировалось Twin; 20.07.2011 в 08:40.
function removeCat($query) {
if ($query->is_feed || ($query->is_home && !(is_paged())))
{$query->set('cat','-5,-34');}
return $query; }
add_filter('pre_get_posts','removeCat');
где -5,-34 - ID категорий, которые не выводтся на главной и в RSS. Единственная проблема кода - на страницах /page/1/, /page/2/ и т.д. добавленные записи отображаются все равно.
grazer, так вы сами указали вывод ненужных постов на страницах указанного вида условием !(is_paged()). Оно не нужно, по сути. То есть как я писал функцию в предыдущем сообщении последней, так должна работать и для /page/1/, /page/2/ и так далее.