Как сделать метки на сайте вордпресс

Обновлено: 08.07.2024

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

Что такое метки в WordPress и зачем они нужны на блоге?

Чтобы лучше понять, что такое метки в WordPress, обратимся к первоисточнику. В английской версии используется слово tag. В переводе на русский оно имеет много значений. Вот некоторые из них, наиболее интересные для нас:

Tag – метка, бирка, ярлык. И глаголы – соединять, помечать, связывать.

Метки – это слова, значимые для данной статьи. У статьи может быть несколько меток, у разных статей есть одинаковые метки. Благодаря меткам статьи блога оказываются связанными друг с другом.

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

Чем отличаются метки от рубрик.

Эти два понятия имеют как сходство, так и различие. И те, и другие связывают, объединяют статьи по определенным признакам, являются элементами навигации и средствами перелинковки сайта.

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

Где отображаются метки?

Метки отображаются в конце каждой записи. Это удобно для пользователя. Прочитав статью, он может кликнуть по метке и перейти к другим записям, связанным с ней.

В WordPress есть возможность поместить метку в меню блога. Делается это просто, аналогично тому, как в меню размещается рубрика. Другой вопрос, насколько это целесообразно.

Управление метками

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

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

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

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

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

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

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

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

Включаем поддержку рубрик и меток для страниц WordPress

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

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

Способ 1. register_taxonomy()

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

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

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

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

Смотрите также

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

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

Комментарии — 30

Спасибо, очень пригодилась статья!

А как в функции true_expanded_request_custom($q) добавить к категориям еще и тэги, и произвольную таксономию custom_tax?
В синтаксисе плаваю и вообще. ))
Заранее спасибо.

Скажите пожалуйста а как привязать к странице к рубрики?

Извините, а код из статьи у вас не заработал?

Заработал, но только все наоборот надо чтоб страницы к рубрикам привязывались

Тогда думаю вам нужно это.

Спасибо, но это не то что нужно, не сильна совсем в кодах

У меня тот же вопрос что и у Иры, теперь страницы в рубриках отображаются, а надо чтобы определенная рубрика на страницу выводилась, т.е страница не была статичной, а наполнялась определенной рубрикой.. Заранее спасибо!

У меня код не заработал. Ошибку выдает при сохранении страницы, для которой была выбрана рубрика.
То есть, meta box на "страницах" отображается, но толку от него, если при сохранении белый фон и предупреждение:

Warning: Cannot modify header information - headers already sent by (output started at W:\domains\travel\wp-content\themes\mosaic\functions.php:1) in W:\domains\travel\wp-admin\post.php on line 235

Warning: Cannot modify header information - headers already sent by (output started at W:\domains\travel\wp-content\themes\mosaic\functions.php:1) in W:\domains\travel\wp-includes\pluggable.php on line 1178

Простите. ошибка в кодировке.

Код работает, спасибо! Но только в бэк-энде.

Здравствуйте! Как я могу получить массив с рубриками, привязанными к странице?
Привязал 2 рубрики, вардамплю:

О привязанных рубриках никакого упоминания..

Благодарю! Помогло. Статьи у вас отличные! Спасибо

Михаил, добрый день.
Уже не первый раз нахожу ваши полезные статьи в поисковике по разным запросам. Теперь уже вижу домен и жму для перехода на сайт, т.к. знаю, что тут все по делу))
Михаил, у меня вопрос такой: а на главное страницы будут в этом случае выводиться? В ленту рсс уходить? Мне бы не надо. То есть, я жду от этой функции, что страницы с полезной информацией будут добавляться как бы фоном, незаметно для пользователей, но в то же время для заинтересованных в рубрике и по тегу страницы отображаться будут.
Например, есть рубрика "Бали", тег "Авиа". Я создала запись про аэропорт Денпасар, понятно, что в рассылке это никому неинтересно читать, да и на главной вовсе необязательно это афишировать, эта запись просто для поискового трафика. Вот думаю подобные статьи создавать страницами, но чтобы в рубриках или как минимум по тегам они фигурировали, но в общей ленте не шли.
Если я сделаю функционал в вашей статье, это так и будет работать, или же страницы будут себя вести как и записи блога? Спасибо!

Михаил, спасибо!
Все отлично работает! Прям как надо))

Михаил здравствуйте! Во-первых отличный блог, много полезной информации, спасибо Вам) Теперь собственно сабж:
Проделал все как написано в статье, но что-то не могу понять что изменилось, страница отображается так, будто не имеет к рубрике никакого отношения. Ожидал увидеть примерно следующее:
Создал страницу, привязал к рубрике. При переходе в рубрику, отображается ссылка на эту страницу. Переходим по ссылке и открывается та самая страница. Но сейчас даже в хлебных крошках не выстраивается нужная иерархия. Объясню что нужно:

Есть несколько рубрик, условно:
-Дома кирпичные
-Дома из бруса
.
В каждой рубрике есть что-то похожее на меню:
-Дома кирпичные
--Описание(просто текст)
--Проекты(список постов)
--Отзывы(список постов)
.
-Дома из бруса
--аналогичные пункты

В итоге иерархия должна строиться след. образом:
Дома кирпичные -> Описание
Дома кирпичные -> Проекты -> Проект 1
и т.д.

Реализовал бы все через вложенные рубрики, но сложность в том, что для пунктов в которых есть посты нужен уникальный шаблон. Надеюсь понятно объяснил) Подскажите пожалуйста в какую сторону копать, как-то дорабатывать Ваше решение, или может есть другой вариант? Спасибо!

Добрый день!
спасибо!

По идее этот код делает две вещи:
1) добавляет возможность при редактировании страницы определить рубрику для неё
2) на самой рубрике выводить помимо записей еще и страницы.

По идее код этот в своё время использовался и должен работать. У вас второй пункт не работает я верно понимаю? Рубрика вообще пустая или в ней только записи отображаются сейчас?

Первый пункт работает. Второй нет. В рубрике выводятся записи, но не выводятся страницы. Ну и я так полагаю что не строятся хлебные крошки в нужном порядке, а надо бы) Спасибо!

Как использовать теги Wordpress

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

Если вы только начали делать сайт и еще ничего не знаете о таксономии, то вот наша большая статья.

А сейчас о тегах (метках).

Теги WordPress: что, зачем, как

Важно: Неправильное использование тегов может затруднить навигацию по сайту. Это не просто плохо и неудобно для пользователей. Это может также подпортить SEO сайта.

Теперь по порядку.

Что такое теги (метки)?

Метки (aka tags, теги) — это микроданные, которые конкретизируют записи сайта.

Что происходит, когда вы добавляете метку?

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

Например, ваш сайт о кулинарии.

Это удобно. Пользователи смогут перейти на страницу метки и посмотреть все рецепты приготовления торта.

Также и поисковики поймут, что все записи в этом архиве на одну тему.

Когда вы добавляете метку, которую ранее не использовали, WordPress автоматически создает ее архив. Если вы задаете по 10-15 уникальных меток к каждой записи, вы создаете десятки архивных страниц меток.

Если на каждой из этих страниц архива будут всего 1-2 записи, это будет не очень хорошо.

Потому что пользователям будет сложно найти похожие посты. А поисковику — сложно понять, о чем ваш сайт.

Вывод:

Не задавайте слишком много меток к записи.

Не используйте метки, которые не связывают эту запись с другой записью на сайте.

Как выбрать правильные метки (теги)?

Возьмем в качестве примера сайт с рецептами вкусняшек (кулинарный сайт).

Вот его рубрики: закуски, салаты, супы, вторые блюда, выпечка и пр.

А метками будут: горячие закуски, мясные закуски, мясные салаты, рыбные салаты и так далее.

При выборе метки подумайте:

  • Какие другие записи схожи по теме с этой?
  • Какая метка лучше всего подходит для этих записей? Что у них общего?
  • Ключевое слово, которое вы использовали в качестве метки, подходит лучше других?

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

Оптимизируйте страницу метки

Если вы используете плагин Yoast, вы можете отдельно оптимизировать страницу метки.

Оптимизация страницы метки в WordPress

Найдите похожие записи

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

Регулярно проверяйте рубрики и метки

Структура сайта может меняться. Может, вы придумаете новые темы и рубрики — а это уже новые метки.

Поэтому регулярно просматривайте ваши метки и удаляйте те, которые не используете.

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

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

В большинстве случаев код вставляется в 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.

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.

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

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

Понравился пост? Подпишись на обновления блога по RSS, Email или twitter!

рейтинг

Оцените статью:


Категории: Возможности;
Теги: категории блога, простые плагины, сниппеты, страницы сайта, теги.

Читайте также: