Название говорит само за себя. В настоящее время в моих пользовательских таксономиях я получаю термины, используя термин id и название таксономии.
Подумал, что этот вопрос уже задавали, но нигде не могу его найти! Так что подумал, что я спрошу и посмотрю, есть ли у кого-нибудь ответы
term_id
теперь встречается вterm_taxonomy
таблице только один раз (до того, как столбец не стал уникальным и термины могли быть разделены между таксономиями). Это может продолжать развиваться в будущем, основываясь на дорожной карте таксономии . Одна часть этого состоит в том, чтобы объединить термин и таблицы терминов таксономии .Кодекс говорит:
Что это значит?
Термин это слово. Он может принадлежать таксономии, такой как теги, категории или пользовательская таксономия. Дело в том, что может быть несколько таксономий, содержащих один и тот же термин.
Допустим, у вас есть термин под названием «откорма». Это слово имеет идентификационный номер. Это термин_ид. Это не зависит от того, как используется это слово, то есть в каких таксономиях появляется термин.
Теперь слово «откорма» в качестве почтового тега также имеет номер. Это term_taxonomy_id. Это соответствует «почтовому тегу« откорма ».
Может быть, у вас также есть категория под названием «откорма». Хотя term_id одинаков, term_taxonomy_id для «категории« откорма »отличается.
источник
Поскольку это часть более глубокого понимания дизайна, я опишу его целиком ... :)
В WP 4.5.3 есть еще все эти таблицы (я буду говорить о них без префикса):
Путь к получению понятных имён после терминов проходит через все.
посты
основным идентификатором здесь
ID
- идентификатор поста (любого типа)term_relationships
хранит пары из:
object_id
- может бытьposts.ID
(но не обязательно)term_taxonomy_id
- это НЕ идентификатор термина (категории), а идентификатор ОТНОШЕНИЯ между термином (категорией) и таксономией («тип категории»)term_taxonomy,
основной идентификатор здесь
term_taxonomy_id
описан выше ^^другие важные столбцы:
term_id
- идентификатор термина (категории)taxonomy
- хранит таксономию термина («тип категории»)Это может показаться смешным, но первоначальное намерение состояло в том, чтобы добавить возможность для терминов иметь больше таксономий (что в некоторых случаях может иметь смысл).
термины,
основной идентификатор здесь
term_id
- это идентификатор категории,другими важными столбцами здесь являются:
name
- читаемое имя категории, например, «Музыкальные жанры»slug
- кусок используемого термина, например, в URLТаким образом, жестокая демонстрация SQL для
получения всех опубликованных постов и всех их категорий с именами категорий
может выглядеть следующим образом (добавляйте префиксы к таблицам при тестировании на собственной WP DB):
источник
term_id
Всегда уникален так же , какterm_taxonomy_id
. Оба имеютAuto Increment
в структуре таблицы.В таблице
wp_term_taxonomy
убеждается, например , что категория создается, поэтому WordPress могут взаимодействовать с ним , например , WooCommerce использования:product_tag
,product_type
,product_cat
, все они являются так называемые пользовательские таксономии. Эта таблица также связывает структуру parent / children. С его колонкойparent
.Если мы снова выберем Woocommerce в качестве примера, эта таблица связывает тип записи
products
с их таксономиейproduct_cat
, которая содержит наглядный пример, например «Компьютеры», которые, конечно, извлекаются из таблицыwp_terms
. Эта таблица содержитterm_id
,name
,slug
иterm_group
. (term_group я лично никогда не использовал)Надеемся, что вышеизложенное немного разъясняет различия и то, как Wordpress использует эти таблицы.
источник