скрыть статьи отдельных категорий с главной страницы

Вступление

По умолчанию все статьи со всех разделов блога WordPress публикуются на главной странице. Если вы, конечно, в настройках указали главную страницу, как основную. Иногда это не очень удобно. Например, на этом блоге есть небольшие статьи и таблицы, которыми  не хочется засорять главную страницу блога. Скрыть статьи отдельных категорий с главной страницы WordPress можно, добавив в код шаблона функцию, которая будет фильтровать категории по их ID для отображения на главной.

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

Редактирование кодов всех файлов WP делайте в текстовых редактор, типа Notepad++ или простом стандартном «Блокноте» Windows. Не пользуйтесь для редактирования кодов WP редакторами типа Microsoft word.

Как узнать ID категории, раздела WordPress

Чтобы скрыть статьи отдельных категорий с главной страницы WordPress для начала нужно узнать ID (уникальный идентификационный номер) разделов которые нужно исключить. Для этого достаточно открыть любой раздел в редакторе, навести на название нужного  раздела курсор и внизу посмотреть всплывшую строку браузера.

По шагам:

  • Входите в консоль;
  • В меню консоли нужен пункт: Записи → Рубрики
  • В открывшемся окне редактора разделов, наводим курсор на нужный раздел;
  • Внизу в адресе редактируемого раздела смотрим цифры после ID= ,и до знака &. Это и есть ID раздела.

Узнать ID разделов WP

Два способа скрыть статьи отдельных категорий с главной страницы WordPress

Скрыть статьи отдельных категорий с главной страницы WordPress можно двумя способами. Первый способ, вставить код указанный ниже в файл index.php. второй способ, вставить другой код в файл functions.php. Второй работает лучше.

Читайте так же:  Страницы WordPress: всё про страницы Wordpress

Чтобы исключить посты отдельных категорий с главной страницы блога, создадим фильтр-функцию и внесем ее в файл index.php.Код следующий:

<?php
if ( is_home() ) {
	query_posts( 'cat=-77' );
}
?>

, где цифра 77, это ID исключаемой рубрики.

Исключаем посты нескольких разделов с главной страницы WordPress

Для исключения нескольких категорий блога, нужно в фильтрующем коде перечислить все ID исключаемых разделов. Например:

<?php
if ( is_home() ) {
	query_posts( 'cat=-3,-79' );
}
?>

где убираем все посты разделов с ID 79 и 3. ID категорий перечисляются через запятую, со знаком минус.

Можно скрыть отдельные посты с главной страницы сайта:

<?php
if ( is_home() ) {
            query_posts( 'p=5' );	
}
?>

где 5 это ID поста, исключаемого с главной страницы.

Делаем изменения в файле index.php

Остается последний шаг. Нужно вставить код в файл index.php. Открываем редактор в консоли блога.

В редакторе открываем файл index.php;

В нем ищем  [div id=»content»];

В границах этого div, после кода

<?php
$options = get_option>

вставляем один из выше показанных кодов.

Недостатки этого способа

У такого способа, исключения разделов и постов с главной страницы блога WP. есть недостатки:

  • Важно понимать, что функция query_posts изменяет основной Цикл WordPress.
  • Функция не должна использоваться более одного раза на странице.
  • Функция query_posts увеличивает количество запросов в Базу данных, что увеличит время загрузки сайта с объемными базами данных.

Избежать эти недостатки, и при этом исключить отдельные категории с главной можно вот таким кодом, вставив его в конец файла functions.php. Работает безотказно, пока до версии  до версии 4.3.1.

function exclude_cat($query) {
 if ($query->is_home) 
       {$query->set('cat',' -77, -113, -137, -204');} // id категории 77,113.137.204
return $query; }
add_filter('pre_get_posts','exclude_cat');

Игорь Серов, специально для сайта «Как сделать сайт WordPress».

Другие статьи раздела: CMS WordPress

Читайте так же:  Основные теги шаблона Wordpress


Как скрыть статьи отдельных категорий с главной страницы WordPress

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