Wordpress как привязать рубрики к страницам

от admin

Wordpress как привязать рубрики к страницам

Достаточно добавить этот код в functions.php темы

Как привязать метки к страницам?

Привязка таксономий к произвольным типам постов

Способ 1. register_taxonomy()

Тут всё проще — достаточно при регистрации таксономии указать все необходимые типы постов в параметре $object_type функции register_taxonomy().

Способ 2. register_taxonomy_for_object_type() и фильтр «request»

А что, если у нас нет доступа к параметрам функции register_taxonomy()? Что, если она является частью плагина или темы, и установленные нами параметры будут сбрасываться каждый раз при обновлении?

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

В данном примере привязываем рубрики к произвольному типу постов product .

Как добавить поддержку меток и рубрик для страниц WP?

Несмотря на то, что всё это делается функцией register_taxonomy_for_object_type(), код для каждой таксономии будет разным — отдельно для рубрик, отдельно для меток и отдельно для произвольной таксономии.

Каждый листинг кода будет состоять из двух частей:

  1. Первая часть кода — основная, именно в ней и будет добавляться поддержка определенной таксономии (рубрики, метки и пр.)
  2. Вторая часть кода — это модификация стандартных запросов. Т.е. например вы открыли на сайте страницу архива какой-либо категории, а там отображаются и записи post и страницы page .

Как привязать рубрики к страницам?

Достаточно добавить этот код в functions.php темы.

Как привязать метки к страницам?

Можно одновременно использовать с кодом для рубрик.

Окей, я вставил весь код выше (и тот, который для категорий и тот, который для тегов) «как есть» в functions.php своей темы, и вот что у меня получилось:

Метабоксы рубрик и меток на странице редактирования страниц (тип поста page) WordPress.

Привязка таксономий к произвольным типам постов

Способ 1. register_taxonomy()

Тут всё проще — достаточно при регистрации таксономии указать все необходимые типы постов в параметре $object_type функции register_taxonomy().

Способ 2. register_taxonomy_for_object_type() и фильтр «request»

А что, если у нас нет доступа к параметрам функции register_taxonomy()? Что, если она является частью плагина или темы, и установленные нами параметры будут сбрасываться каждый раз при обновлении?

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

В данном примере привязываем рубрики к произвольному типу постов product .

Как на WordPress-сайте добавить категории и метки для Страниц?

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

Рубрики и теги в WordPress

В WordPress, по умолчанию, рубрики и метки могут быть присвоены исключительно Записям (Постам). Для статических страниц вообще понятие категоризации не предусмотрено. Это объясняется тем, что последние обычно не нуждаются в какой-либо структуре. Так, на Страницах размещают статичные данные (о сайте, о предоставляемых им услугах и пр.), которые обычно не будут изменяться вообще.

Как добавить категории и метки для Страниц?

Но все же если у Вас возникла необходимость в создании какой-либо структуры среди статических страниц Вашего сайта, то для этого существует несколько способов.

Способ 1. Плагин Post Tags and Categories for Pages

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

Способ 2. Добавление кода в файл functions.php

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

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.

Итак, в самый конец указанного файла необходимо вставить следующие строки:

Результат этого PHP-кода будет аналогичным работе вышеуказанного плагина.

Ещё читайте: Как добавить на сайт записи пользовательского типа с помощью register post type.

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

Как добавить категории и теги страницам в WordPress с помощью плагинов и хаков

Категории и теги в страницах

Как вы знаете, в системе Вордпресс существует 2 основные сущности: заметки (посты) и страницы сайта. Первая, как правило, используется при создании записей блога, вторая — для отображения статичной информации (контакты, об авторе и др.). Учитывая эти особенности, меню админки WP реализовано таким образом, что функции категорий и тегов в страницах WordPress полностью отсутствуют. Сегодня разберемся как исправить текущую ситуацию — есть парочка модулей по теме либо можно все реализовать через сниппеты.

Читать:
Как узнать владельца почтового ящика

Если подумать, то решение разработчиков CMS вполне логичное — данная фишка естественным образом смотрится только в записях блогов, а в остальных случаях, вроде как, и не требуется. Однако по работе возникают разные ситуации, в том числе и необходимость указывать теги и категории для страниц WordPress. Они могут пригодиться:

  • при создания каталога статей (разбиения по рубрикам);
  • как еще один способ навигации;
  • чтобы скрыть статьи из выбранной категории;
  • при реализации похожих страниц (выступают в качестве критериев схожести нескольких объектов);
  • для краткой «характеристики» определенного контента (за счет меток).

Плагины для задания категорий и тегов страницам

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

Разделы: <?php the_category(‘, ‘); ?>. Теги: <?php the_tags(», ‘, ‘, ‘.’); ?>

В большинстве случаев код вставляется в page.php (или другой подходящий файл).

Post Tags and Categories for Pages

Post Tags and Categories for Pages

С этим модулем я знаком уже давно. Он обновлялся 10 месяцев назад и пропустил несколько последних знаковых релизов, тем не менее, при тестировании все было отлично. Не удивительно, что Post Tags and Categories for Pages имеет более 30тысяч скачиваний и почти максимальную оценку.

Процесс установки прост — находите плагин по названию среди других и активируете, настроек никаких нет. Сразу после этого в меню админки для раздела страниц появится 2 новых дополнительных пункта. Работать с ними можно точно также, как с записями.

Создание категорий и тегов на страницах

На скриншоте видите, что расширение совместимо и с некоторыми другими, например, с Simple Tags. Также я успешно тестировал вывод тегов страниц в WordPress через the_tags в шаблоне и аналогичную фишку для категорий — the_category.

Единственный возможный минус — в своих «личных записях» нашел пометку о том, что данное решение глючит с исключениями (не могу вспомнить, что это значит): то ли речь идет о параметре exclude в WP функциях, то ли о плагинах похожих постов и Exclude categories … Как выход из ситуации, предлагается добавить метки, а после отключить модуль. Вдруг, информация кому-то пригодится.

Tag Pages

Tag Pages

В отличии от предыдущего решения это позволяет работать исключительно с WordPress тегами. Если вам нужна только такая фишка, то есть смысл ставить плагин без поддержки категорий. Из плюсов: однозначно актуальность (обновка около месяца назад) + 20тысяч загрузок и хорошая оценка.

  • появление специального блока ввода меток в WP при редактировании;
  • с помощью фильтра pre_get_posts все ваши публикации будут корректно выводиться в архивах, RSS фидах;
  • совместим с мультисайтовой установкой;
  • не делает никакие правки в БД, только использует хуки.

Add Category to Pages

Add Category to Pages

У модуля меньше всего загрузок — 10тысяч, но при этом максимальная оценка. Не смотря на название, он позволяет работать не только с категориями страниц WordPress но и тегами. Вы сможете просматривать архивы со списками публикаций по определенной теме. Единственное, что смущает — последний апдейт был 3 года назад. Хотя, по сути, применяемые здесь WP функции, за это время не изменились.

Хаки добавления тегов / категорий в страницы

В сети имеется несколько нужных нам сниппетов, в которых суть плюс-минус одинаковая, поэтому я выберу лишь один найден здесь (самый детальный). Хак следует разместить в файле function.php вручную либо используйте плагин Code Snippets. Весь код состоит из двух частей.

Сначала реализуем отображение блоков меток и категорий для страниц WordPress внутри админки:

Если вам надо активировать какую-то одну сущность — удалите лишнюю строчку, оставив только вариант с post_tag или category.

Вторая часть сниппета:

Данный код нужен дабы система WordPress смогла выводить архивные списки рубрик/меток. Вы модифицируете запрос Wp_Query + используете хук pre_get_posts. При этом действия происходят только во фронтенде, т.к. мы указали условие !is_admin().

Еще в одном случае мне встречалась конструкция, где вместо задания сущностей ‘post‘,’page‘ для Wp_Query был параметр ‘any‘ (любые):

if ($wp_query->get(‘tag’)) $wp_query->set(‘post_type’, ‘any’);

Прием подойдет, когда у вас на сайте имеются и другие форматы объектов, которые хотелось бы выводить в архивах.

В целом, как видите, внедрить категории и теги в страницы Wordpress сайте не так и сложно. Выбирайте один из двух вариантов реализации: плагины проще, а хаки занимают меньше места. Если есть что дополнить по статье, пишите ниже.

Понравился пост? Подпишись на обновления блога по RSS wordpress insideRSS, RSS wordpress insideEmail или twitter wordpress insidetwitter!
рейтингОцените статью:

Похожие статьи