Таксономия и термы или как правильно группировать материалы на веб-сайтах и Базе данных

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

Все объекты в мире мы можем сгруппировать по определённым признакам.

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

Понятие “Таксономия” существует уже достаточно давно. Данное определение зачастую используется в Биологии, Географии, Геологии и других естественных науках. Иными словами, термин Таксономия(Taxonomy) – это классификация, группировка или же систематизация объектов, по определенным признакам и характеристикам. В свою очередь, Терм – это объект, который лежит в определенной Таксономии. Таксономия держит в себе целый набор таких термов. Соответственно, отдельно функционировать данная форма(терм) не может.

Таксономия материалов в блогах и магазинах сайтов.

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

Пример таксономии в WordPress

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

Самые распостраненные виды таксономии это Категории(Caregorys) и Метки(tags), которые группируют ваши страницы по определенным признакам. Как добавить на своем сайте новую рубрику(категорию) или метку знает практически каждый начинающий специалист. Но я напишу, на всякий случай. Заходим под админом в Консоль->Рубрики->Добавить Новую, идентичную операцию проворачиваем и с Метками. Все очень просто,поэтому поехали дальше.

Давайте разберем, как же это все происходит и формируется в Базе Данных. Для это идем на свой хостинг, заходим в MySQL, а после переходим в phpMyAdmin.

В БД WordPress таксономия разделена на три таблицы. Для упрощения выборки соединяются только их ID (уникальный идентификатор).

Как эти таблицы выглядят в WordPress:

База данных

1 таблица wp_term_relationships
Из первой таблицы выбираются все id к которым относится объект, в нашем случае это post или page (Записи, Страницы, Вложения и т.д.).

2 таблица wp_term_taxonomy
Во второй таблице мы расшифровываем к какой именно группе относятся по переданному id term_taxonomy_id category, teg или другое название группы и получаем ид другой связанной таблицы.Теперь мы сможем подробнее указать к какой именно категории или тегу относится данный объект через(term_id).

3 таблица wp_terms
Эта таблица получает id термов и может указать нам конкретно название категории или метки.

Схематически это выглядит так:

taxonomy

 

Выводим категории из Базы Данных с помощью SQL запроса

category

Вот пример, как можно выбрать все категории, из базы данных WordPress, и вывести их с количеством записей, и с дополнительным условием чтобы записей было больше одной ( wp_term_taxonomy.count > 1 )

Для работы с БД в WordPress нужно глобализировать переменную $wpdb.

Вот сам пример кода который можно вставить в сайтбар или футер вашей темы:

 

Выводим метки из Базы Данных с помощью SQL запроса

tags

В другом примере выбираем все теги из БД
и выводим их тоже с показателем количества записей.

 

В этом примере мы делаем запрос к базе данных более правильно, добавляя вместо префикса “WP_” переменную “$wpdb->” что дает нам гарантию – если задан другой префикс, то таблица будет выбрана правильно.

 

И ещё добавим в этот пример ассоциативную связь в новую переменную ( table2.name AS tag_name ) а потом отобразим из новой переменной tag_name

1 Бал2 Бала3  Бала4  Бала5  Балов
loadingЗагрузка...

<<< >>>

Добавить комментарий