Как скрыть записи рубрики с главной страницы WordPress

От:

Иногда возникает необходимость удалить записи из рубрики с главной страницы сайта WordPress. Например, есть рубрика «Рассказы», ​​и есть желание, чтобы эти записи отображались только на странице этой рубрики, а не на общей ленте главной страницы.

В этой инструкции разберём, как это сделать с помощью небольшого фрагмента кода, который необходимо добавить в файл functions.php нашей темы.

Шаг 1. Определим идентификатор рубрики, которую необходимо скрыть.

Прежде чем мы начнем писать код, нам нужно узнать идентификатор рубрики, записи которой собираемся убрать из общей ленты.

  1. Переходим в админ-панель WordPress: Входим в свою учетную запись администратора WordPress.
  2. Открываем раздел «Рубрики»: В левом меню открываем раздел «Записи» и выбираем «Рубрики».
  3. Выбираем нужную рубрику: Находим в списке рубрику, которую хотим скрыть с главной страницы (например, «Рассказы»).
  4. Получаем ID рубрики:
    • Наводим курсор мыши на название рубрики (не нажимаем). В нижнем поле браузера мы увидим ссылку. В этой ссылке будет добавлен параметр tag_ID=XXX, где XXX- это и есть идентификатор вашей рубрики.
    • Альтернативный способ: нажимаем на название рубрики, чтобы перейти к странице редактирования. И смотрим на адрес в поле браузера. Там будет параметр category&tag_ID=XXX. Копируем числовое значение после tag_ID=.

Шаг 2. Добавляем код в файл function.php нашей темы.

Теперь, когда у нас есть идентификатор рубрики, мы можем добавить код в файл functions.php нашей темы. 

Вносить изменения в файлы темы напрямую не рекомендуется, лучше использовать дочернюю тему, чтобы ваши изменения не были потеряны при обновлении основной темы.

Добавляем следующий код в конец файла

Важно:

Замените 463 в строке $query->set( ‘cat’, ‘-463’ ); на свой идентификатор

Если нужно закрыть несколько рубрик, можно воспользоваться закомментированным текстом $query->set( ‘cat’, ‘-ID_КАТЕГОРИИ_1,-ID_КАТЕГОРИИ_2,-ID_КАТЕГОРИИ_3’ ); и заменить ID_КАТЕГОРИИ_1, ID_КАТЕГОРИИ_2 и ID_КАТЕГОРИИ_3 идентификаторами соответствующих рубрик. Не забываем убрать символы // в начале строки, чтобы код выполнялся. ID рубрики должны быть разделены запятыми.

Отрицательный знак -перед идентификатором рубрики означает, что мы проверяем эту рубрику.

Сохраняем файл function.php.

Шаг 3: проверка результата

  1. Очищаем кэш WordPress (если используется плагин кеширования): После изменения файла functions.php может потребоваться очистить кэш сайта, чтобы изменения были внесены в силу.
  2. Обновляем главную страницу сайта: Открываем главную страницу сайта в браузере и убеждаемся, что записи из рубрик, которые добавили, не отображаются в ленте.
  3. Проверяем страницу рубрики: убеждаемся, что записи по-прежнему доступны на странице самой рубрики.

Пояснение кода:

  • function exclude_category_from_home( $query ) { … }: Это наименование объявленной функции.
  • if ( $query->is_home() && $query->is_main_query() ) { … }: Это гарантирует, что код будет выполняться только на главной странице.
  • $query->set( ‘cat’, ‘-463’ );: Эта строка определяет запрос, устанавливая параметр cat(категорию) в значение -463. Как мы уже говорили, минус означает указание рубрики с ID 463.
  • add_action( ‘pre_get_posts’, ‘exclude_category_from_home’ );: Эта строка добавляет нашу функцию exclude_category_from_home в хук pre_get_posts. Хук pre_get_posts позволяет внести изменения в базу данных WordPress для их выполнения.

Важные замечания:

  • Резервная копия файла function.php: Перед внесением изменений в файл functions.php всегда делайте его резервную копию. Это позволит вам восстановить исходный файл, если что-то пойдет не так.
  • Дочерняя тема: Как уже упоминалось, лучше всего создать дочернюю тему и внести изменения в файл functions.php дочерней темы. Это защищает ваши изменения от перезаписи при обновлении основной темы.
  • Альтернативные решения: найти плагины WordPress, которые позволяют скрывать рубрики с главной страницы без необходимости редактирования кода. Если вы не уверены в своих навыках программирования, просмотрите возможность использования плагина.
  • Кэширование: После внесения изменений очистите кэш WordPress и кэш браузера, чтобы увидеть изменения.

Следуя этой инструкции, можно легко и быстро скрыть записи из определенных рубрик с главной страницы сайта WordPress.


Комментарии закрыты