- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
WordPress タクソノミー
提供: WordPress Codex 日本語版
WordPress 2.3 において現在のタクソノミーのスキーマを初めて導入しました。 古い WordPress 2.2 のテーブル構造に対してクエリを行うプラグインは動作しません。 カテゴリーAPIを使用するプラグインは大丈夫です。
新しいスキーマは昔の categogies、post2cat、link2cat テーブルを、もっと柔軟性のある三つの新しいテーブルに置き換えました。
- wp_terms
- wp_term_relationships
- wp_term_taxonomy
wp_terms
最初のテーブルは 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
はタームのユニークな ID です。 -
name
はその通り、タームの名前です。 -
slug
はユニークで、URL をフレンドリーな形に短縮する名前(スラッグ)です。 -
term_group
は類似のタームをグループ化する為のものです。
wp_term_taxonomy
タームはカテゴリーやタグそのものではありません。 タームには 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_taxonomy テーブルはタームをタクソノミーに入れます。 それによってタームが、カテゴリー、タグ、またはカスタムタクソノミー(またはタクソノミーの組み合せ)になります。
-
term_id
は terms テーブルにあるタームの ID です。 -
taxonomy
はタームが入るタクソノミーを示します。デフォルトのタクソノミーはcategory
、link_category
、そしてpost_tag
です。 -
term_taxonomy_id
はタームとタクソノミーの組み合せのユニークな ID です。
他のフィールドは、タクソノミーというコンテキストの中でのタームに関する情報を保持します。
-
parent
フィールドは、あるタクソノミーの中でタームの親子関係を表します。 -
description
は、あるタクソノミーにおけるタームの説明です。 -
count
は、タームとタクソノミーの組み合せに関連付けられたオブジェクトの個数を表します。例えばcategory
タクソノミーのタームの場合、count
は、そのカテゴリーに入っている投稿の個数です。
wp_term_relationships
最後のテーブル term_relationships は、投稿やリンクなどのオブジェクトを、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)
-
object_id
は投稿やリンクの ID です。 -
term_taxonomy_id
は、あるタームとタクソノミーの組み合せを表す term_taxonomy テーブルの ID です。 -
term_order
は、あるオブジェクトに付けられたタームの順序を指定できるようにします( チケット #5857 を参照)。