О таксономиях
Слово «Taxonomy» пришло к нам, как всегда, из греческого: taxis
— расположение, nomos
— закон, принцип. Т.е. Таксономия — это принцип расположения чего-либо. Для WordPress — это принцип расположения записей.
Образно, таксономии можно сравнить с папками на компьютере: куда складываются файлы. Заходим в папку, видим список файлов. В WordPress аналогично: заходим в таксономию (рубрику), видим список записей в ней.
Структура контента в WordPress очень простая: контент состоит из записей и таксономии, которые связывают эти записи — по сути, это все! К контенту также относятся комментарии и файлы, но и то и другое является частью записи… Есть еще пользователи, но это как бы и не контент, а отдельная сущность. Вот и получается, что таксономии связывают только записи.
Стоит обратить внимание, что в WordPress «Таксономия» — это только название, т.е. таксономии как таковой не существует — есть только запись о её существовании. А что-то реальное в таксономии — это её элементы. Например, возьмем таксономию «Рубрики» (category
) — это только название — запись в переменной PHP, а реальные данные таксономии — это созданные рубрики — её элементы. Например, если не создавать ни одной рубрики, то условно можно сказать, что таксономии нет (она пуста) — в базе данных она нигде не записана, а существует лишь в переменных PHP, где указано название таксономии и её свойства (опции), причем создается такая переменная налету во время генерации страницы. Записи привязываются именно к элементам таксономии, а не к самой таксономии. Так как записи связаны не с таксономией, а с её элементам, то и вся последующая работа с таксономией — это работа с её элементами.
Элементы таксономии называются terms
. Для кратности так и будем их называть — термины.
Типы таксономий
Выше я говорил, что при создании таксономии ей задаются свойства. Одно из самых важных свойств — это тип таксономии. Так, таксономии делятся на два типа:
- Древовидные — например рубрики
- Линейные (плоские) — например метки
Отличия. Элементы древовидных такс. могут быть родительскими и дочерними, т.е. одни элементы как бы вложены в другие. А элементы плоских такс. всегда сами по себе, т.е. все они находятся на одном уровне, а значит не зависят друг от друга.
Схематически это выглядит как-то так:
Схематическое изображение типов таксономий в wordpress. Базовые таксономии WordPress
По умолчанию в WordPress существует пять таксономии:
- category — рубрики
- post_tag — метки
- post_format — скрытая таксономия. Термины этой таксономии — это форматы записей.
- nav_menu — скрытая таксономия. Термины этой таксономии — это созданные меню навигации, к ним прикрепляются записи (ссылки меню). Если в меню создается произвольная ссылка, то её данные помещаются в таблицу записей (wp_posts) с типом записи
nav_menu_item
, а запись прикрепляется к термину. Все опции ссылки (URL, анкор и т.д.) хранятся в метаполях записи. Тоже самое происходит, если в эту таксономию помещается элемент другой таксономии, например рубрика — также создается запись в таблице записей, а данные помещаются в метаполя записи. Система топорная и не очень практичная, зато независимая, хорошо расширяемая, а главное простая — в стиле WordPress.
- link_category — разделы для ссылок, которые отключены в последних версиях.