WordPressの「term_taxonomyテーブル」とは?

ハローハロー! ハロウィンの予定はない! veilnuiです。

WordPressのデータベース構造まとめ第9回。「term_taxonomyテーブル」についてです。
もう9回です。あと2回でコンプリートです。

  1. commentmeta
  2. comments
  3. links
  4. options
  5. postmeta
  6. posts
  7. terms
  8. term_relationships
  9. term_taxonomy
  10. usermeta
  11. users

テーブル概要

投稿およびリンクの分類上の語句(カテゴリ・タグ)データを格納

http://wpdocs.osdn.jp/データベース構造

このテーブルは「ターム」の「メタデータ」を保存します。
また、テーブルの「taxonomyカラム」は、ターム属する「タクソノミー」を保存します。

「ターム」と「タクソノミー」の違い

「タクソノミー」は「カテゴリー」「タグ」「カスタムタクソノミー」など、すべての分類です。

「ターム」はそれぞれのタクソノミーの中の一つ一つの分類です。
「カテゴリー」の中の「カテゴリー名」「タグ」の中の「タグ名」です。

まとめると、「タクソノミー」は「大分類」、「ターム」は「小分類」です。

こちらのページが分かりやすいです。

【WP】混乱しがちなカテゴリー、タグ、タクソノミー、タームの意味と違い | Maromaro Blog
WordPressでのサイト構築するうえで、躓きやすいポイントの一つに「カテゴリー」や「タグ」の扱いがあります。 「カテゴリー」や「タグ」をそのまま使用している限りはさほど問題にはなりませんが、オリジナルのタグ/カテゴリーである「カスタムタクソノミー」を使いだすと、これらの違いは何なのか混乱したり、その混乱が原因で出力...

依存しているテーブル、カラム

  • termsテーブル term_idカラム

依存されているテーブル、カラム

  • term_relationshipテーブル term_taxonomy_idカラム

カラム構成

term_taxonomy_idIDbigint(20) unsigned
term_idtermsテーブルのterm_idbigint(20) unsigned
taxonomy種類varchar(32)
description説明longtext
parent親カテゴリーbigint(20) unsigned
count紐付けられているコンテンツの数bigint(20)

term_taxonomy_id

データ型bigint(20) unsigned
デフォルト値
備考AUTO_INCREMENT

タームメタデータIDです。

このテーブルに登録された各コンテンツを区別するカラムです。
それぞれのフィールドは「0以上の重複しない数字」がIDとして割り当てられます。

WordPressでは、このカラムを編集できません
phpMyAdminなどでデータベースにアクセスすることで、このカラムを編集できます

データベースに新たなレコードを追加するとき、または既存のフィールドを変更するときは、次のルールに従ってください。赤文字は絶対条件です

  1. 他のレコードと値が被らないこと
  2. 0の数字がIDとして割り当てられないこと(1以上のIDを割り当てること)
  3. オートインクリメント機能により「現在のレコード数+1」の値に設定すること
  4. このカラムに依存する他のテーブルも確認すること

データベースを編集するときは、IDが被らないように注意してください
IDが被ると、エラーが表示されてフィールドを編集することができません。

また、WordPressでは、IDが0のレコードをNULLとして使用します
そのため、IDが0のレコードは作成しないように注意してください。

WordPressでは、このカラムに依存しているテーブルがあります。
こののカラムを編集したとき、次のテーブルとカラムも確認してください。

依存されているテーブル、カラム

  • term_relationshipテーブル term_taxonomy_idカラム

term_id

データ型bigint(20) unsigned
デフォルト値0

タームIDです。
どのタームのメタデータであるかを決めるカラムで、タームとメタデータを関係付けます。

依存しているテーブル、カラム

  • termsテーブル term_idカラム

taxonomy

データ型varchar(32)
デフォルト値

「ターム」がどの「タクソノミー」に属しているか保存します。
デフォルトでは3種類のタクソノミーがあります。
タクソノミーは「カスタムタクソノミー」を作成すると増えます。

categoryカテゴリー
link_categoryリンクカテゴリー
post_tagタグ

description

データ型longtext
デフォルト値

「ターム」の説明です。「タクソノミー」の説明ではありません。

longext型のため、最大で4,294,967,296文字までの説明文を保存できます。
日本語などのマルチバイト文字はそれよりも少なくなりますが、それでも十分な文字数です。

parent

データ型bigint(20) unsigned
デフォルト値0

現在の「ターム」の「親ターム」を保存します。

カテゴリーは階層構造にできます。
タグはできません。

カテゴリーを階層構造にしたとき、どの「カテゴリー」の「子カテゴリー」にするかを保存します。

依存しているテーブル、カラム

  • termsテーブル term_idカラム

count

データ型bigint(20)
デフォルト値0

「ターム」に属している「コンテンツ」の数です。
ステータスが「公開済み」になっているコンテンツだけがカウント対象です。

参考サイト

データベース構造 - WordPress Codex 日本語版

コメント

タイトルとURLをコピーしました