Как найти таблицу категорий WordPress в MySQL?

24 сент. 2012 г., 08:54:40
Просмотры: 86.4K
Голосов: 32

Я знаю, что WordPress хранит все данные записей в таблице 'wp_posts'. Но здесь WordPress не определяет никакого идентификатора категории или связанной с ним ссылки.

Пожалуйста, подскажите, как таблица 'wp_posts' определяет точную категорию? Объясните мне подробно.

0
Все ответы на вопрос 1
1
44

Смотрите документацию по Таксономиям WordPress в Кодексе.

В WordPress 2.3 предыдущие таблицы categories, post2cat и link2cat были заменены на три более гибкие таблицы таксономий.

wp_terms
wp_term_relationships
wp_term_taxonomy

wp_terms - содержит основную информацию об отдельных терминах.

term_id bigint(20) unsigned NOT NULL auto_increment,
name varchar(200) NOT NULL default '',
slug varchar(200) NOT NULL default '',
term_group bigint(10) NOT NULL default 0,
PRIMARY KEY  (term_id),
UNIQUE KEY slug (slug),
KEY name (name)
  • term_id - уникальный идентификатор термина.
  • name - просто название термина.
  • slug - уникальное имя термина в формате, удобном для URL.
  • term_group - позволяет группировать схожие термины.

wp_term_taxonomy - определяет тип таксономии: метка, категория или пользовательская таксономия.

term_taxonomy_id bigint(20) unsigned NOT NULL auto_increment,
term_id bigint(20) unsigned NOT NULL default 0,
taxonomy varchar(32) NOT NULL default '',
description longtext NOT NULL,
parent bigint(20) unsigned NOT NULL default 0,
count bigint(20) NOT NULL default 0,
PRIMARY KEY  (term_taxonomy_id),
UNIQUE KEY term_id_taxonomy (term_id,taxonomy),
KEY taxonomy (taxonomy)
  • term_id - идентификатор термина из таблицы terms.
  • taxonomy - тип таксономии, к которой относится термин. По умолчанию это category, link_category и post_tag.
  • term_taxonomy_id - уникальный идентификатор для пары термин+таксономия.
  • parent - отслеживает иерархические связи между терминами в таксономии.
  • description - описание термина для конкретной таксономии.
  • count - отслеживает количество объектов, связанных с парой термин+таксономия. Например, для термина таксономии category count показывает, сколько записей входит в эту конкретную категорию.

wp_term_relationships - содержит связи "многие ко многим" между объектами WordPress (такими как записи или ссылки) и term_taxonomy_id из таблицы term_taxonomy.

object_id bigint(20) unsigned NOT NULL default 0,
term_taxonomy_id bigint(20) unsigned NOT NULL default 0,
term_order int(11) NOT NULL default 0,
PRIMARY KEY  (object_id,term_taxonomy_id),
KEY term_taxonomy_id (term_taxonomy_id)
  • object_id - идентификатор записи или ссылки.
  • term_taxonomy_id - идентификатор из таблицы term_taxonomy, обозначающий конкретную пару термин+таксономия.
  • term_order - позволяет упорядочивать термины для объекта (см. тикет #5857).
24 сент. 2012 г. 09:20:40
Комментарии

Отличное объяснение, спасибо!

David Brossard David Brossard
27 мая 2019 г. 00:26:02