Апр
17
4

Как добавить категории и теги страницам в 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 внутри админки:

function new_taxonomies_for_pages() {
 register_taxonomy_for_object_type( 'post_tag', 'page' );
 register_taxonomy_for_object_type( 'category', 'page' );
 }
add_action( 'init', 'new_taxonomies_for_pages' );

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

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

if ( ! is_admin() ) {
 add_action( 'pre_get_posts', 'tag_cat_archives' );
}
function tag_cat_archives( $wp_query ) {
$my_taxonomies_array = array('post','page');
 if ( $wp_query->get( 'category_name' ) || $wp_query->get( 'cat' ) )
 $wp_query->set( 'post_type', $my_taxonomies_array );
 
 if ( $wp_query->get( 'tag' ) )
 $wp_query->set( 'post_type', $my_taxonomies_array );
}

Данный код нужен дабы система 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 сайте не так и сложно. Выбирайте один из двух вариантов реализации: плагины проще, а хаки занимают меньше места. Если есть что дополнить по статье, пишите ниже.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 3, средний балл: 7,00 из 7)
Загрузка...

категория Категории: Возможности;
теги Теги: , , , , .

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

  • Саша   30.04.2018

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

  • Tod   30.04.2018

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

  • Антон   10.05.2018

    Давно уже юзаю Post Tags and Categories for Pages пока никаких проблем с ним не замечал.

  • Иван   22.11.2019

    Спасибо за обзор. Плагин Tag Pages — то, что я искал! Он добавляет на страницах стандартное окошко «Метки» (как в записях).

Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости