Исключаем категории с главной страницы сайта

Здравствуйте, сегодня рассмотрим как с помощью кода – выводить на главной странице только нужные категории (рубрики) записей (постов, страничек).

1. Нужно определить id категорий (рубрики), которых вы хотите оставить на главной странице сайта, как это сделать:

Заходим в панель управления wordpress, в левом меню выбираем пункт “Записи” и его подпункт “Рубрики”:

исключаем рубрики с главной страницы

 

Далее заходим в нужную рубрику, например, зайду в рубрику под названием “дизайн”:

определяем id рубрики

 

Жмем левой клавишей мышки на адресную строку браузера (отмечена синей стрелкой на картинке выше) и смотрим на id рубрики:

id категории рубрики

 

Например, в моем примере адресная строка браузера показывает следующее:

http://localhost/testmnogoblog/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=2&post_type=post

Здесь смотрим чему равно ID, в нашем примере ID=2, то есть id рубрики “2”.

 

Еще один вариант посмотреть ID рубрики, категории – зайти в панель управления, в левом меню выбрать пункт “Записи” и его подпункт “Рубрики”, далее просто наводите курсор мышки на название рубрики и в нижнем левом углу смотрите ее ID:

определяем id рубрики

 

 

И еще один способ определить Id рубрики, категории, записей, страничек – это установить плагин Reveal IDs:

Последнее обновление: 2014-6-16
Загрузок: 403,101
Сайт плагина: “wordpress.org/plugins/reveal-ids-for-wp-admin-25/”
Установка плагина стандартная – через панель управления wordpress.

 

2. Изменяем файл fumctions.php

Перед тем как вносить изменения в файл funtions.php – предупреждаю, что это может сломать ваш сайт.

Лучше всего использовать дочернюю тему, или же протестировать код на тестовом сайте, или на локальном сервере (denwer).

Заходим в панель управления, в левом меню выбираем пункт “Внешний вид” и его подпункт “Редактор”, справа в списке шаблонов выбираем файл functions.php:

оставляем на главной только нужные рубрики

 

И вставляем в файл functions.php следующий код:

 

function my_home_category( $query ) {
 if ( $query->is_home() && $query->is_main_query() ) {
 $query->set( 'cat', '2');
 }
}
add_action( 'pre_get_posts', 'my_home_category' );

В данном примере на главной странице будут показаны записи, странички только из категории с id=2

Если же вы хотите показывать записи, странички нескольких категории, то используйте следующий код:

$query->set( 'cat', ’2, 14’ );

В данном примере будут показаны категории с id=2 и с id=14, то есть нужно перечислить id нужных категорий через запятую.

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