Как не выводить определенные записи на главной и в RSS

(Ответов: 7, Просмотров: 1847)
  1. Super Moderator Аватар для grazer
    • Регистрация: 03.09.2009
    • Сообщений: 5,201
    • Записей в дневнике: 83
    • Репутация: 2381
    • Webmoney BL: ?
    Как не выводить определенные записи на главной и в RSS?

    Двиг: wordpress.
    RSS: стандартный, прожжен через feedburner.

    Есть плагины, но многие жалуются что криво работают. Что посоветуете надежное? В идеале, нужно вообще целый раздел на главную не выводить.
    Домены, хостинг и VPS 10 лет доверяю REG.RU. Проблем нет.
    Найти меня можно в телеграме, подписывайтесь (cнг/бурж seo).
    • 0
  2. Особый статус Аватар для domainsfree
    • Регистрация: 13.01.2011
    • Сообщений: 507
    • Репутация: 211
    Есть колхозный вариант.
    Снять ленту последних новостей с главной, затем разбить на блоки рубрик и удалить ненужную. Поставить RSS для Яндекс.Новостей и исключить ее посредством нажатия на checkbox в меню плагина.
    • 0
  3. Гуру Аватар для Movut
    • Регистрация: 03.09.2009
    • Сообщений: 511
    • Репутация: 290
    • Webmoney BL: ?
    domainsfree, а Вы про какой плагин? Про Advanced Category Excluder?
    • 0
  4. Super Moderator Аватар для grazer
    • Регистрация: 03.09.2009
    • Сообщений: 5,201
    • Записей в дневнике: 83
    • Репутация: 2381
    • Webmoney BL: ?
    Цитата Сообщение от domainsfree Посмотреть сообщение
    Есть колхозный вариант.
    Это еще и сложный вариант, куча работы. Мне просто нужно сделать так, чтобы не публиковались записи из 1 категории на главной и не попадали в RSS.

    И я говорил про плагин Stealth Publish - это не то. Он вообще пост нигде не выводит.
    Домены, хостинг и VPS 10 лет доверяю REG.RU. Проблем нет.
    Найти меня можно в телеграме, подписывайтесь (cнг/бурж seo).
    • 0
  5. Гуру Аватар для Twin
    • Регистрация: 30.12.2009
    • Сообщений: 613
    • Репутация: 39
    • Webmoney BL: ?
    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.
    • 1

    Спасибо сказали:

    grazer(20.07.2011),
  6. Super Moderator Аватар для grazer
    • Регистрация: 03.09.2009
    • Сообщений: 5,201
    • Записей в дневнике: 83
    • Репутация: 2381
    • Webmoney BL: ?
    Воспользовался следующим кодом:

    Код:
    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/ и т.д. добавленные записи отображаются все равно.
    Домены, хостинг и VPS 10 лет доверяю REG.RU. Проблем нет.
    Найти меня можно в телеграме, подписывайтесь (cнг/бурж seo).
    • 0
  7. Особый статус Аватар для domainsfree
    • Регистрация: 13.01.2011
    • Сообщений: 507
    • Репутация: 211
    Цитата Сообщение от Movut Посмотреть сообщение
    domainsfree, а Вы про какой плагин? Про Advanced Category Excluder?
    Нет, я про колхозно-ручной метод. В прочем, автору уже неактуально :)
    • 0
  8. Гуру Аватар для Twin
    • Регистрация: 30.12.2009
    • Сообщений: 613
    • Репутация: 39
    • Webmoney BL: ?
    grazer, так вы сами указали вывод ненужных постов на страницах указанного вида условием !(is_paged()). Оно не нужно, по сути. То есть как я писал функцию в предыдущем сообщении последней, так должна работать и для /page/1/, /page/2/ и так далее.
    • 1

    Спасибо сказали:

    grazer(23.07.2011),

Похожие темы

Темы Раздел Ответов Последний пост
Не выводятся записи на страницах рубрик. Wordpress.
Web программирование 11 23.04.2011 13:01
Как выводить множество сайтов компании с одним и тем же адресом и телефоном в Яндексе
Поисковые системы 5 17.09.2010 14:27
В конце каждой записи чужая ссылка (Wordpress)
Вопросы от новичков 3 22.03.2010 23:20
Ссылки на старые записи или внутренняя перелинковка!
Дайджест блогосферы 14 03.01.2010 00:18

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры