• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

WordPress タクソノミー

提供: WordPress Codex 日本語版
移動先: 案内検索

WordPress 2.3 において現在のタクソノミーのスキーマを初めて導入しました。 古い WordPress 2.2 のテーブル構造に対してクエリを行うプラグインは動作しません。 カテゴリーAPIを使用するプラグインは大丈夫です。

新しいスキーマは昔の categogies、post2cat、link2cat テーブルを、もっと柔軟性のある三つの新しいテーブルに置き換えました。

  1. wp_terms
  2. wp_term_relationships
  3. 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 はタームが入るタクソノミーを示します。デフォルトのタクソノミーは categorylink_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 を参照)。

最新英語版: WordPress Codex » WordPress_Taxonomy最新版との差分