Убираем определенные категории с главной страницы

Продолжая ваять тему на счет публикаций списков свежих дропов, пришел к тому, что во избежании превращения блога в уродливый список, решил убрать категорию в которой публикую списки с главной. То есть что бы категория не выводилась на главную страницу блога WordPress.

Обычно это бывает также необходимо в случае если вы приторговываете постовыми, так как статьи с ссылками не выводятся в общей ленте, что повышает доверие к блогу. Да и пользователи не гундят, а то мне как то некие упыри с NW высказывали, что типо основной сайт у меня УГ, да и сам я АМ, ибо увидали у меня в постах ссылки (причем самое смешное было в том, что ссылки это были натуральные а не покупные, на пару моих сайтов и понравившиеся мне ресурсы), начав гнать волну, что я за 100 рублей напишу все что они не пожелают. :)

Вообщем убрать определенные категории с главной страницы блога можно несколькиими способами:
1. Самый простой способ- установить плагин Exclude Categories который как раз и призван цели исключения определенных категорий. Ставим плагин, а потом галочками исключаем те категории, которые необходимо скрыть.

2. Немножко ковыряния в php:
Для начала узнаем ID категорий, которые необходимо исключить из вывода на главную: делается это из раздела категорий, путем просмотра ссылки на редактирование категории- ссылка будет иметь вид: сайт/wp-admin/categories.php?action=edit&cat_ID=XX , где XX как раз и является номером категории. После этого открываем на редактирование файлик функционирования нашей темы functions.php и добавляем в него следующие строки:
function exclude_category($query) {
if ( $query->is_home ) {
$query->set(‘category__not_in’, array(XX,XX1,XX2));
}
return $query;
}
add_filter(‘pre_get_posts’, ‘exclude_category’);

где собственно (‘category__not_in’, array(XX,XX1,XX2)) и задают исключение из листинга категорий под номерами XX, XX1, XX2.
Параметр  $query->is_home – говорит о том, что мы убираем листинг категории с заглавной страницы. Также можно убрать вывод категорий и из RSS ленты, если задать это параметр как  $query->is_feed or $query->is_home

Якоря: , , ,

Post a Comment