Создание таксономии WordPress
Содержание
1. Что такое таксономия WordPress?
Перед тем как, что то создавать, нужно разобраться с базовыми понятием таксономии. Что это такое?
В WordPress под таксономией понимается некое абстрактное пространство, с помощью которого происходит группировка записей(постов) по определенному признаку.
К примеру существует стандартная таксономия «Рубрки» на англ. версии WP «Category». С ее помощью мы можем сгруппировать записи по признакам: новости, статьи, полезная информация и.т.п. По простому мы называем это все «категориями». Но на самом деле это таксономия «Рубрики».
«Метки» это тоже таксономия на англ. версии «tags», только элементы этой таксономии не имеют наследования(родителей).
2. Типы таксономий.
Существует два типа таксономий:
1. Древовидные(иерархический) — имеет вложенность, родительские и дочернии элементы. Пример: Рубрки(category).
2. Линейные (плоские)— не имеет вложенности. Пример: Метки(tags).
3. Как создать таксономию.
И так. Как же создать кастомную(произвольную) таксономию в WordPress. Существует два способа:
Способ первый. С помощью функции register_taxonomy().
Функция register_taxonomy() — регистрирует кастомную(произвольную) таксономию.
Пример. Создадим таксономию mycat для типа записей(post type) «записи» или по простому для постов.
Таксономии
Начну с того, что таксономии нужны для группировки постов.
Каким образом? Ну возьмём к примеру хэштеги в инстаграм — когда вы постите фото и присваиваете ему теги — это как раз и есть та самая группировка, о которой я говорю. По умолчанию WordPress тоже поддерживает теги для постов, а ещё рубрики. И их можно объединить одним словом — таксономии.
В WP есть стандартные таксономии, а также те, которые разработчики и пользователи создают сами.
1. Стандартные таксономии в WordPress
Рубрики и метки
Что-то мне подсказывает, что если вы читаете этот пост, то вы уже представляете, что такое рубрики (категории) и метки (теги), что у рубрик есть иерархия, у меток нет и так далее.
А теперь мне нужно донести одну важную мысль.
В WordPress есть своя группа функций для работы с рубриками и отдельная группа функций для работы с метками. Наверняка с какими-то из них вы уже знакомы.
Чуть выше мы с вами определили, что и рубрики и метки являются таксономиями, а это значит, что при работе как с теми, так и с другими вы можете спокойно использовать функции таксономий. Я например так и делаю.
Рубрики ссылок
Если рубрики и метки в WordPress были нужны для группировки записей, то данная таксономия, как понятно из названия — для группировки ссылок.
Если вы недавно установили WP, то вы не найдёте их у себя в админке. Дело в том, что с версии 3.5 ссылки по умолчанию сделали отключенными. Но не удалили — вставьте следующий код в файл functions.php вашей темы и ссылки вновь появятся у вас в админке. Вполне возможно, что вы найдете им применение.
Форматы постов
Форматы на самом деле с трудом можно назвать таксономией, но фактически это так. На моём блоге им посвящён отдельный пост.
2. Пользовательские таксономии
И вот в один прекрасный день наступает момент, когда нам начинает не хватать стандартных рубрик и меток для группировки записей…
Чуть подробнее про регистрацию таксономии
Техническую сторону регистрации я подробно описал в статье про функцию register_taxonomy(). Сейчас же мы рассмотрим несколько моментов.
Пример: вы зарегистрировали тип записей — Автомобили, и их нужно группировать скажем по марке, стране и по объему двигателя (хотя объем лучше затолкать в произвольные поля).
Как присваивать таксономии к различным типам записей
Ну во-первых, если вы сами регали таксономию через код, то конечно же надо было сразу указать все типы записей, для которых будет использована группировка по этой таксономии.
Если же изменение параметров регистрирующей функции не в вашей власти (возьмем те же рубрики и метки), тогда вы можете и должны использовать register_taxonomy_for_object_type().
Допустим вы взяли и захотели, чтобы в рубрику можно было добавлять не только записи но и страницы! Тогда код будет следующим:
Другие примеры смотрите в описании функции, ссылку на которое я дал вам выше.
Вывод таксономий в виде списка
Вы знакомы с функцией wp_list_categories()? Если нет, то наверняка видели, как на блогах рубрики выводятся в столбик в виде списка (иногда еще справа в скобках указывается количество постов в рубрике).
Самое интересное, что функция wp_list_categories() позволяет выводить элементы любой таксономии, достаточно лишь указать название таксономии в параметрах функции.
Где же брать название таксономии?
Более сложный, но в то же время более удобный и настраиваемый вариант — функция get_terms(). Если бы мне предложили выбрать любимую функцию из кодекса, я бы выбрал её — она реально потрясающая.
Вывод постов из таксономии
3. Плагины для работы с таксономиями
Сам я придерживаюсь мнения, что в данном случае лучше обойтись без лишних плагинов, тем не менее вот некоторые бесплатные варианты:
Некоторые из функций для работы с таксономиями
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!
Таксономия WordPress. Рубрики и метки
В этой статье мы поговорим о том, что такое таксономия WordPress, чем отличаются рубрики от меток. И выясним, что все-таки из них лучше.
Вопросы, которые мучают новичков:
В сети довольно много комментариев на эту тему, но все они непоследовательные и неполные.
Если вас также волнуют эти вопросы, пожалуйста, прочитайте эту статью.
Таксономия WordPress
Давайте сначала разберемся, что такое рубрики и метки.
Таксономия WordPress — это рубрики, подрубрики и метки.
Их назначение — это сортировка контента для удобства пользования сайта.
Так посетитель может просматривать записи не в хронологическом порядке, а с помощью рубрик и меток.
Чем отличаются рубрики от меток
Рубрики группируют ваши записи по какому-либо широкому признаку. Они разъясняют читателю тему вашего сайта. Рубрики имеют иерархию, поэтому вы также можете создавать подрубрики.
Метки — это микроданные, они конкретизируют записи вашего блога. Метки не имеют иерархии.
Давайте разберем на примере:
У вас есть личный блог, рубриками которого могут быть: жизнь, учеба, еда, фильмы, музыка, путешествия.
Вы сделали пост о фильме, который недавно посмотрели. Ему можно присвоить рубрику «Фильмы», а метки — комедия, рекомендую, Том Харди:)
Главное отличие рубрик от меток:
Рубрику вы должны добавить обязательно, а вот метки уже по желанию. Когда вы не определяете рубрику вашему посту, он попадает в «без рубрики».
Еще одно отличие заключается в том, как выглядит ваша рубрика и метка (ссылки).
В случае использования настраиваемой структуры константной ссылки (URL), основной префикс выглядит по-разному.
Оптимальное количество рубрик
На ранних версиях WP (до 2.5) встроенная поддержка меток отсутствовала.
Из-за этого приходилось придумывать огромное количество рубрик, которые использовались для группировки постов по микроданным.
А уже потом разработчики добавили метки.
Сколько должно быть рубрик на сайте?
Зависит от объема сайта.
Ориентируйтесь, в первую очередь, на структуру и удобство пользования.
И лучше добавляйте подрубрики и метки.
Рубрики используются для создания групп постов. Сделайте сначала общие рубрики, а с ростом сайта начинайте создавать подрубрики.
Наличие 40 рубрик бессмысленно, если, например, там будет всего 2-3 записи.
А вот 5 рубрик с регулярно обновляющимся контентом будут смотреться куда лучше.
Когда создавать подрубрики
Например, вы размещаете учебные материалы в рубрике «Учеба», которые иногда содержат ваши интервью с профессорами. Допустим, у вас нет рубрики «Интервью профессора», тогда вы добавите такую метку.
А если количество таких постов будет постоянно расти, логичнее будет добавить подрубрику «Интервью профессора» для вашей главной рубрики «Учеба».
Теперь вам нужно будет изменить все предыдущие посты.
В случае наличия структуры адреса вида category postname лучше использовать плагин переадресации, который будет вести пользователя на новый адрес.
Благодаря этому вы сохраните ранжирование постов в поисковых системах.
Использование подрубрик обязательно?
Нет, это не обязательно.
Создание подрубрик объясняется лишь удобством пользования. Так что можете смело оставлять метку «Интервью профессора».
Можно ли назначать несколько рубрик для одного поста?
Многие источники утверждают, что наличие нескольких рубрик у одного поста негативно влияет на SEO сайта, а поисковики будут видеть задвоение контента на сайте.
Это не совсем верно.
Не забывайте, что цель группировки контента — это удобство пользования.
Например, ваш сайт имеет 3 рубрики: «Прогулки» «Музеи» «Экскурсии». И ваши посты могут относиться сразу ко всем 3-м рубрикам.
Может лучше добавить общую рубрику? А эти 3 сделать подрубриками.
Добавление нескольких рубрик для одного поста никак не влияет на SEO сайта.
Это, опять же, делается лишь для удобного поиска посетителей сайта.
Если посты на вашем сайте попадают под несколько рубрик очень часто, стоит задуматься о реструктуризации. Например, переделать рубрики в метки или сделать общую рубрику.
Теперь по поводу дублирования контента.
С помощью плагина Yoast SEO вы можете установить значок no index, follow у рубрики, которую хотите показать поисковикам.
У нас есть отдельная статья «Как настроить Yoast SEO».
Вы можете сделать это с любой рубрикой на вашем сайте. Но тогда не разрешайте индексацию архива общей рубрики во избежании дублирования.
Итак, можно ли назначать неск-ко рубрик для одной записи?
Если вы уверены, что так посетителям будет удобнее.
Какое максимальное количество меток можно присвоить одному посту?
Лимита на количество меток не существует.
Но смысл меток в том, чтобы соединять ваши посты по какому-либо признаку. По меткам ваши пользователи смогут находить нужную им информацию.
Но не советую добавлять 10+ меток к одному посту, иначе со временем это может привести к наличию более 10000 меток.
Метки работают как ключевые слова?
Многие считают, что это ключи, поэтому добавляют бесконечное количество меток.
Нет, метки — это не ключевые слова, по крайней мере, по умолчанию.
Но некоторые плагины, например Yoast SEO, дают возможность использовать значения меток в шаблоне мета ключевых слов. Но если у вас нет плагинов, настроенных для этого, метки не будут работать как ключи.
Что лучше для SEO: рубрики или метки?
Самый обсуждаемый в интернете вопрос — есть ли какие-то преимущества использования рубрик вместо меток и наоборот?
Нет. Они работают в паре.
Если вы прочитали этот пост, вы понимаете цели использования рубрик и меток:)
Вывод
Когда вы делаете сайт, ориентируйтесь на ваших пользователей, а не на поисковики.
В первую очередь делайте контент, интересный и удобный в навигации.
Потому что поисковик оценивает сайт именно по этим параметрам. И только после этого дает ему высокую оценку.
Таксономия WordPress содержит рубрики и метки по умолчанию. Многие сайты используют пользовательские таксономии для группирования своего контента наряду с рубриками и метками.
Предположим, ваш сайт — это книга. Так выберите красивое оглавление.
Придумайте общие рубрики, но следите, чтобы они не оказались слишком расплывчатыми.
Задавайте метки, чтобы связывать несколько по смыслу похожих постов. Когда одна из меток станет популярной, подумайте, чтобы переделать ее в подрубрику.
Однако, если вам нужно добавить метку в качестве подрубрики других общих рубрик, лучше оставить ее в качестве метки.
Таксономия WordPress — звучит пугающе, но теперь вы разбираетесь и в рубриках, и в метках, чтобы сделать ваш сайт по-настоящему удобным для ваших пользователей.
Надеюсь, статья была полезна.
Читайте также:
Чек-лист для проверки юзабилити сайта! Проверьте, насколько пользователям удобно на вашем сайте.
Если у вас есть вопросы, пишите в комментариях.
И подписывайтесь на нас в Facebook, Instagram и Twitter.
WordPress Эксклюзивное Учебное пособие по Таксономии
WordPress, одна из самых мощных систем с открытым исходным кодом для ведения блогов и управления контентом, используется для обеспечения большей части сетей. До четверти всех веб-сайтов используют WordPress.
В отличие от многих других CMS, WordPress любим многими за гибкость и настраиваемость. Таксономии, одна из основных функций WordPress, позволяет организовать контент так, как вам нужно. Несмотря на то, что WordPress поставляется с несколькими стандартными таксономиями, вы можете добавлять столько пользовательских таксономий, сколько пожелаете.
Однако для того, чтобы таксономии вели себя так, как вы этого хотите, может потребоваться использовать недокументированные подходы.
В этой статье вы узнаете, как вы можете определять эксклюзивные пользовательские таксономии в WordPress, которые ведут себя намного больше как категории, чем теги, что позволяет вам классифицировать ваши посты гораздо более строго, чем вы можете из коробки.
Что такое таксономия?
Согласно кодексу WordPress:
Таксономия – это способ сгруппировать вещи.
Например, связка фруктов разных типов может быть сгруппирована по различным характеристикам, а затем этим группам могут быть назначены имена.
В WordPress таксономии используются для группировки сообщений, страниц и даже пользовательских типов сообщений в разных группах.
Названия для разных группировок в таксономии называются терминами. Взять, к примеру, фрукты и как их можно сгруппировать по цветам. В этом случае названия разных цветов будут термины.
По умолчанию WordPress поставляется с четырьмя таксономиями: категория, тег, категория ссылки и формат публикации. Вы можете узнать больше об этих таксономиях по умолчанию здесь.
Среди этих встроенных таксономий категории и теги очень похожи, но имеют одно важное отличие: категории являются эксклюзивными таксономиями (т. Е. Для каждой публикации вы можете выбрать не более одной категории), тогда как каждой публикации может быть назначено несколько тегов.
Более того, категории обычно предопределены, а теги могут быть определены по мере необходимости.
Определение пользовательских таксономий
Вы можете определить пользовательскую таксономию, используя register_taxonomy() функцию. Вы можете узнать больше о функции здесь.
Чтобы увидеть, как работает эта функция, давайте определим собственную таксономию для постов с фотографиями пейзажей.
В приведенном выше фрагменте мы определяем новую таксономию для сообщений, называемых
Вы можете подумать об этой таксономии, используемой для категоризации фотографий в зависимости от вида или характера представлений, представленных на фотографиях (например, горы, озеро или лес).
Строка возможностей в приведенном выше фрагменте не является обязательной. Без этого WordPress будет использовать возможности по умолчанию для тех же пользователей, что и сообщения. Как показано выше, это позволит любому пользователю с настраиваемой возможностью «edit_guides» назначать таксономию сообщению, а любому пользователю с настраиваемой возможностью «publish_guides» создавать новые элементы таксономии.
Согласно официальной документации, можно определить четыре возможности:
Как используются таксономии
Со стороны пользовательского интерфейса WordPress создает новый мета-блок для сообщений для каждой таксономии. Мета-блок аналогичен мета-блоку Теги, который позволяет вам связать одно или несколько условий с вашим постом. Это то, что WordPress делает по умолчанию, и это то, что мы можем изменить, сделав таксономию эксклюзивной: заставьте пользовательскую таксономию вести себя как таксономия категории.
Принудительная эксклюзивность в таксономиях
Когда мы создаем пользовательскую таксономию с помощью register_taxonomy() метода, WordPress добавляет мета-блок с выбором нескольких элементов на страницу редактирования поста:
Используя этот мета-блок, пользователь может выбрать любое количество существующих (уже использованных) терминов, а также может добавить новые термины с помощью текстового поля.
Чтобы создать подобную категории таксономию, где каждая публикация принадлежит не более чем одной категории из набора предопределенных категорий, вы можете сделать это, немного настроив WordPress:
Давайте посмотрим на каждый из шагов.
Скрыть мета-бокс по умолчанию, созданный WordPress
Первый параметр скрывает таксономию на панели быстрого / массового редактирования, а второй параметр скрывает ее на странице редактирования сообщения:
Если мета-поле по умолчанию скрыто, элементы могут быть добавлены в набор доступных терминов таксономии через страницу управления таксономией:
Создайте пользовательский мета-бокс на странице редактирования
Мы вызываем add_meta_box метод со следующими аргументами:
Обратите внимание, как мы указали taxonomy_box в качестве идентификатора. Тем не менее, именно функция в третьем параметре позволит нам определить, что будет в поле.
Теперь мы реализуем fill_custom_meta_box_content функцию:
Здесь мы сначала извлекаем все термины (т. Е. Существующие значения) таксономии. Мы будем использовать их для отображения списка элементов управления переключателями.
Далее мы извлекаем текущий выбранный термин таксономии, используя get_the_terms() функцию – нам нужно, чтобы был выбран соответствующий переключатель.
Обратите внимание, что эта функция возвращает массив. Это связано с тем, что по умолчанию сообщение может иметь любое количество терминов, связанных с ним. По нашему предположению, запись имеет не более одного термина, поэтому мы получаем доступ к первому элементу массива. (Это нормально, если массив пуст; мы получим null в качестве текущего значения и не будет выбран ни один переключатель).
В исходном HTML-коде используются custom_taxonomy радиокнопки и соответствующие термины в качестве значений; атрибуты идентификатора переключателя просто используются для подключения к тегам меток. В результате мы получаем следующий пользовательский мета-блок:
Сохранить значение таксономии при сохранении сообщения
Наконец, нам нужно сохранить значение таксономии при сохранении сообщения. Для этого мы можем использовать save_post крючок:
И это все! Мы сделали.
Теперь вы знаете, как определить пользовательскую таксономию, которая будет вести себя как встроенная таксономия категории.
Примечание: WordPress принял запрос на добавление функции, чтобы упростить переключение эксклюзивности для пользовательских таксономий. Тем не менее, билет не видел много активности в течение некоторого времени.
Заворачивать
Таксономии – очень мощная и полезная функция в WordPress. Изначально им не хватает возможности выполнять строгую категоризацию сообщений, но, как и почти все в WordPress, таксономии и связанные с ними функции чрезвычайно настраиваемы. Это позволяет нам добавить эту часто необходимую способность в несколько шагов.
Представленный здесь подход также можно использовать для создания еще более настраиваемого пользовательского интерфейса на страницах редактирования сообщений для выбора термина таксономии.
Я надеюсь, что вы нашли этот краткий учебник по определению эксклюзивных пользовательских таксономий полезным!
Что такое таксономии wordpress
Таксономии
Начну с того, что таксономии нужны для группировки постов.
Каким образом? Ну возьмём к примеру хэштеги в инстаграм — когда вы постите фото и присваиваете ему теги — это как раз и есть та самая группировка, о которой я говорю. По умолчанию WordPress тоже поддерживает теги для постов, а ещё рубрики. И их можно объединить одним словом — таксономии.
В WP есть стандартные таксономии, а также те, которые разработчики и пользователи создают сами.
1. Стандартные таксономии в WordPress
Рубрики и метки
Что-то мне подсказывает, что если вы читаете этот пост, то вы уже представляете, что такое рубрики (категории) и метки (теги), что у рубрик есть иерархия, у меток нет и так далее.
А теперь мне нужно донести одну важную мысль.
В WordPress есть своя группа функций для работы с рубриками и отдельная группа функций для работы с метками. Наверняка с какими-то из них вы уже знакомы.
Чуть выше мы с вами определили, что и рубрики и метки являются таксономиями, а это значит, что при работе как с теми, так и с другими вы можете спокойно использовать функции таксономий. Я например так и делаю.
Рубрики ссылок
Если рубрики и метки в WordPress были нужны для группировки записей, то данная таксономия, как понятно из названия — для группировки ссылок.
Если вы недавно установили WP, то вы не найдёте их у себя в админке. Дело в том, что с версии 3.5 ссылки по умолчанию сделали отключенными. Но не удалили — вставьте следующий код в файл functions.php вашей темы и ссылки вновь появятся у вас в админке. Вполне возможно, что вы найдете им применение.
Форматы постов
Форматы на самом деле с трудом можно назвать таксономией, но фактически это так. На моём блоге им посвящён отдельный пост.
2. Пользовательские таксономии
И вот в один прекрасный день наступает момент, когда нам начинает не хватать стандартных рубрик и меток для группировки записей…
Чуть подробнее про регистрацию таксономии
Техническую сторону регистрации я подробно описал в статье про функцию register_taxonomy(). Сейчас же мы рассмотрим несколько моментов.
- Регистрация таксономии бывает нужна, когда требуется добавить еще один критерий группировки постов, в особенности — произвольных типов постов.
Пример: вы зарегистрировали тип записей — Автомобили, и их нужно группировать скажем по марке, стране и по объему двигателя (хотя объем лучше затолкать в произвольные поля).
Как присваивать таксономии к различным типам записей
Ну во-первых, если вы сами регали таксономию через код, то конечно же надо было сразу указать все типы записей, для которых будет использована группировка по этой таксономии.
Если же изменение параметров регистрирующей функции не в вашей власти (возьмем те же рубрики и метки), тогда вы можете и должны использовать register_taxonomy_for_object_type().
Допустим вы взяли и захотели, чтобы в рубрику можно было добавлять не только записи но и страницы! Тогда код будет следующим:
Другие примеры смотрите в описании функции, ссылку на которое я дал вам выше.
Вывод таксономий в виде списка
Вы знакомы с функцией wp_list_categories()? Если нет, то наверняка видели, как на блогах рубрики выводятся в столбик в виде списка (иногда еще справа в скобках указывается количество постов в рубрике).
Самое интересное, что функция wp_list_categories() позволяет выводить элементы любой таксономии, достаточно лишь указать название таксономии в параметрах функции.
Где же брать название таксономии?
Более сложный, но в то же время более удобный и настраиваемый вариант — функция get_terms(). Если бы мне предложили выбрать любимую функцию из кодекса, я бы выбрал её — она реально потрясающая.
Вывод постов из таксономии
3. Плагины для работы с таксономиями
Сам я придерживаюсь мнения, что в данном случае лучше обойтись без лишних плагинов, тем не менее вот некоторые бесплатные варианты:
Некоторые из функций для работы с таксономиями
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!
Таксономия WordPress: работа с терминами
От автора: Концепция таксономий и терминов в WordPress нераздельна. Чуть ниже я более подробно расскажу об этом. По моему мнению, чтобы работать с терминами, необходимо понимать, что представляют собой таксономии и термины, и как они взаимодействуют. Иначе как мы будем уверены, что все делаем правильно на программном уровне?
В этой серии из двух статей мы с вами узнаем, что такое таксономии, их роль в WordPress, а также, что их связывает с терминами. И чуть позже мы обратим внимание на понятие терминов, а также научимся работать с term metadata API.
Рекомендую ознакомиться с предыдущими моими статьями, если вы еще этого не сделали. В них я объясняю принцип работы API, с которым мы будем работать. Если же вы не хотите тратить свое время на это, в принципе, ничего страшного. В этой серии мы подробно разберем все, что вам будет нужно.
Что такое таксономии?
Определение из кодекса: «В WordPress «таксономии» — это механизм группировки нескольких постов (ссылок или постов пользовательского типа).»
Это слово мы слышим нечасто. Иногда люди даже теряются, когда начинают говорить о таксономиях и терминах. Другими словами, люди используют пример фразы в качестве таксономии, но на самом деле это всего лишь термин. Чуть ниже я объясню это предложение.
Говоря простым языком, таксономии – это способы группировки вещей. В WordPress после установки есть две таксономии: категории и теги. Ниже мы разберем каждую таксономию более подробно.
Бесплатный курс «Основы создания тем WordPress»
Изучите курс и узнайте, как создавать мультиязычные темы с нестандартной структурой страниц
Есть один нюанс, по крайней мере, в WordPress: таксономии могут быть иерархическими и неиерархическими. Самый понятный пример вышесказанного:
При создании нового категории в WordPress, вы можете создать как категорию верхнего уровня, подкатегорию, так и уже существующую категорию. К примеру, орлы – подкатегория птиц.
Создавая тег в WordPress, вы прописываете одно слово или фразу, которая будет ассоциироваться с постом. Дочерних и родительских тегов не бывает.
В этом и заключается разница иерархической и неиерархической таксономии. Вроде бы легко, правда? Если поддерживаются дочерние элементы, как в категориях, это иерархическая таксономия. Если же дочерние элементы не поддерживаются, как в тегах, это неиерархическая таксономия.
В этой серии статей умение различать таксономии не играет большой роли, разве что это поможет лучше понять этот язык в процессе разработки.
Но когда мы начнем программно создавать таксономии и прикреплять к ним термины, у нас не должно возникнуть сомнения в том, что мы делаем.
Что такое термины?
С таксономиями мы разобрались, а что такое термины? Из кодекса: «Термины в WordPress – это классификация, группа или подмножество таксономии, где последнее может быть категорией, тегом или пользовательской таксономией. По умолчанию у терминов есть заголовок, краткий заголовок URL адреса и описание. Иерархические таксономии, такие как категории, могут создавать родительские термины.»
Именно то определение, которого следовало ожидать, учитывая все, что мы уже изучили. Т.е. термины ассоциируются с таксономиями. Однако у терминов есть несколько важных аспектов, которые необходимо знать, если мы будем создавать их или работать с ними программно. Термины состоят из:
Краткого заголовка URL адреса
И не забывайте, что если мы работает с иерархической таксономией, такой как категории, термины могут включать в себя родительские термины.
Бесплатный курс «Основы создания тем WordPress»
Изучите курс и узнайте, как создавать мультиязычные темы с нестандартной структурой страниц
Это не означает, что в таксономиях нет информации, относящейся к терминам. К примеру, у таксономии есть название, тип поста, с которым она ассоциируется, а также ряд аргументов, которые выходят за рамки этой статьи. В следующей статье мы подробно их рассмотрим.
Как связаны термины и таксономии?
Между терминами и таксономиями что-то наподобие симбиотической связи, т.е. один не может существовать без другого. В иерархических таксономиях это прослеживается нагляднее. В кодексе WordPress есть диаграмма, описывающая связь таксономий и терминов:
К примеру, можно иметь таксономию Категории, но в ней должен быть хотя бы один термин. Именно поэтому в WordPress по умолчанию есть термины без категорий (Uncategorized).
Но также можно создать таксономию Теги и не хранить ни одного тега в базе данных. Можем ли мы, как разработчики, как-то расширить данную систему? Как термины, так и таксономии могут быть созданы программно, однако пользователи также могут создавать и добавлять их. По крайней мере, если в пользовательском интерфейсе есть такая возможность.
Конкретный пример: С помощью интерфейса WordPress все мы можем создавать категории и теги. Но если вы программист и хотите переместить отдельные таксономии и термины в базу данных, вы можете сделать так, чтобы пользователи не смогли больше добавлять и удалять их через интерфейс.
Что такое Term Metadata?
Мы уже поняли, что такое таксономии и термины, а также разницу между ними, и остался один вопрос: Зачем нужны term metadata? Или по-другому в чем смысл term metadata?
Хороший вопрос. Возможно, именно поэтому данной функции не было до WordPress 4.4. Что еще интереснее, так это то, что об этой функции объявили больше 6 лет назад. Главная причина, по которой еще 6 лет назад заговорили о метаданных терминов была:
«На данный момент нет конкретного способа хранения дополнительных данных в таксономиях. Разработчикам плагинов приходится создавать методы для хранения таких данных. К примеру, можно хранить данные в зашифрованном виде в поле описания или использовать метод set_option(). Новая функция не помешала бы, к примеру, add_taxonomy_data() / get_taxonomy_data().»
Данное понятие будет иметь для вас смысл, если вы продвинутый разработчик. Но не все из нас достигли такого уровня знаний, и мы не можем точно сказать, чем метаданные терминов лучше.
Как и в других API, мы можем хранить данные о любом термине из базы данных. К метаданным терминов можно отнести что-либо, связанное с временем создания термина, автором, количеством постов, с которыми ассоциируется данный термин. Также с их помощью терминам можно добавлять изображения.
Так как информация в метаданных терминов может быть самой разной, нам открываются широчайшие возможности. В следующей статье мы рассмотрим конкретные примеры.
Заключение
На данный момент вы знаете все, что вам пригодится для работы с терминами и таксономиями. Когда вы будете писать плагин, тему или что-либо еще для клиента, вам, скорее всего, придется несколько раз открыть кодекс. Даже для опытного разработчика это нормальная практика.
В следующей статье мы научимся работать с метаданными терминов: разберем конкретный пример кода, добавим этот код в одну из тем по умолчанию, будем вносить изменения и следить за базой данных.
Автор: Tom McFarlin
Редакция: Команда webformyself.
Бесплатный курс «Основы создания тем WordPress»
Изучите курс и узнайте, как создавать мультиязычные темы с нестандартной структурой страниц
Как добавить произвольную таксономию в WordPress? Код для вывода записей и терминов таксономии.
Таксономии дают возможность веб разработчикам создавать более сложные и структурированные проекты на WordPress. По своему принципу таксономия напоминает каталог, в котором по группам расположены определенные виды записей.
Стоит отметить, что таксономия – это как общий элемент структуризации данных, при работе с постами вы будете работать с элементами таксономии, которые называют «terms» («термины»). Давайте наглядно разберем пример. В админке WordPress, есть раздел «Рубрики» — это и есть таксономия, а созданные в нем элементы, например «Квартиры» — это термины, непосредственно к которым вы и привязываете ваши записи, а в последующем выводите их на сайте.
Все таксономии разделяют на два типа: древовидные и линейные.
Древовидные это те, которые позволяют создавать дочерние подрубрики к основной рубрике. В итоге, такая структура может иметь вид: «Квартиры» — «Однокомнатные». Пример древовидных таксономий – это рубрики постов.
Линейные – это независимые друг от друга термины. Ярким примером линейных таксономий в WordPress являются метки.
Таксономии WordPress «из коробки»
По дефолту в данной CMS есть четыре типа таксономий.
Как добавить свою таксономию в WordPress?
Для создания кастомных таксономий в WordPress используют функцию — register_taxonomy(). Если вы не хотите разбираться с ее опциями, то можете использовать плагин, например – «Custom Post Type UI». Но, если вы планируете разрабатывать сайты на этом движке, я рекомендую вам разобраться с работой таксономий, так как в любом случае вы будете использовать их на практике при разработке коммерческих проектов.
Для того чтобы добавить свою таксономию, вам нужно будет внести код в файл function.php вашей темы используемой на сайте. Перед тем, как вносить изменения сделайте бэкап самого файла, или же бэкап сайта! Код добавляют внизу файла function.php, или же создают файл php формата в папке inc, после чего подключают его в файле function.php.
Вот пример кода, который добавит таксономию «Квартиры» на ваш сайт.
Первый блок опций – это текстовые переводы пунктов меню и заголовков. Все что ниже – это настройка дополнительных параметров. Ниже описание основных настроек.
Важный момент! Имя таксономии должно быть уникальным и не совпадать с названием зарезервированных WordPress таксономий, а также публичных и частных переменных.
Итак, для того, чтобы вам добавить свою таксономию вам нужно переименовать «flat», на название вашей таксономии, а также внести правки по тестовым переводам в админке.
Для каких задач используются кастомные таксономии?
Основная цель применения кастомных таксономий в WordPress – это структуризация и удобная работа с большим объемом данных. Давайте представим ситуацию, что у вас свое агентство по сдаче жилья в аренду. Каждую запись о квартире вам нужно привязывать к различным параметрам поиска, который будет осуществлять пользователь на вашем сайте. Это могут быть следующие опции: количество комнат, район, ценовой сегмент и другие.
И тут у вас есть два пути для сегментации.
Вот как выглядит вид выбора таксономии при редактировании записи.
Пример запроса по поиску недорогой однокомнатной квартиры возле центра города.
Если у вас под квартиры создан отдельный тип записи, например «flat», то в коде выше меняем значение параметра ‘post_type’, вместо ‘post’ указываем ‘flat’.
Как задать шаблон для таксономии в WordPress?
Иногда стоит задача интегрировать другой дизайн для страницы таксономии, например, сделать вывод в виде сетки, или же вывести дополнительные произвольные поля для записей таксономии, например количество комнат или же локацию для квартиры.
WordPress отбирает шаблон для страницы по определенной иерархии. Вы можете задать отдельный шаблон под каждую таксономию, или же один шаблон для всех таксономий.
Вот те виды шаблонов таксономий, которые вы можете использовать при разработке сайтов.
Для примера в моем случае можно создать шаблон taxonomy-flat.php в таком случае шаблон будет работать для всех терминов таксономии «flat».
Шаблон загружаете в основную папку вашей темы, он будет использовать автоматически, при условии, что вы все правильно сделали.
В данном примере кода используется функция get_term_by(), она включает в себя все данные связанные с таксономией.
Использование условных операторов для вывода записей привязанных к определенным таксономиям
Условные операторы часто используются для вывода контента на страницах с определенными параметрами. Давайте рассмотрим подробнее, как выполняются условия.
Теперь давайте рассмотрим несколько примеров по использованию функций для вывода таксономий и связанных с ними постов на сайте.
Как вывести список терминов таксономии в WordPress?
Для этих целей используется функция — wp_list_categories(), которая имеет много опций для настройки вывода терминов.
Как вывести посты для выбранной таксономии в WordPress?
Для того чтобы выводить записи из отдельных таксономий используется классы: WP_Query или же tax_query, которые за счет параметров позволяют очень гибко выводить необходимые посты на сайте.
На примере выше мы получим последние 10 записей, которые принадлежат таксономии «flat», c термином «cheap».
Также для этой задачи можно использовать функции: get_terms() и get_term_by().
Как вывести заголовок текущей таксономии?
Для этого используется функция — single_term_title().
Как получить id таксономии?
В WordPress для этого существует специальная функция, которая называется: get_term_by().
Она принимает следующие параметры:
Выводы. В этой статье представлены основы работы с таксономиями в WordPress. Есть много нюансов, но я привел лишь часто используемые на практике куски кода. Рекомендую разобраться с этим функционалом движка и в будущем использовать его на своих проектах.






















