私はWordPressがすべての投稿データを'wp_posts'
テーブルに保存することを知っています。しかし、ここでWordPressはそれに関連するカテゴリIDや参照を定義していません。
どうやって 'wp_posts'テーブルが正確なカテゴリを見つけるのか教えてください。詳しく教えてください。
Codexの WordPress Taxonomy のドキュメントを参照してください。
WordPress 2.3では、以前のカテゴリ、post2cat、およびlink2catの各テーブルが、より柔軟な3つの分類テーブルに置き換えられました。
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)
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)
wp_term_relationships - WordPressオブジェクト間の投稿やterm_taxonomyテーブルのterm_taxonomy_idへのリンクなど、多対多の関係が含まれます。
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)