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

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

WordPressのデータベースまとめ第7回。ようやく半分こえました。
今回は「termsテーブル」です。

  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/データベース構造

このテーブルは「カテゴリー」と「タグ」を保存します

「投稿」および「リンク」の分類と書かれていますが「linksテーブル」は非推奨になりました。
またデフォルトでは「固定ページ」には「カテゴリー」「タグの分類」を付けられません。
そのため、実質「投稿」だけの分類を保存しています。

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

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

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

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

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

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

「デフォルトでは『固定ページ』に『カテゴリー』『タグ』の分類を付けられない」と書きました。
「『デフォルト』では付けられない」ということは、カスタマイズをすれば付けられます。

「functions.php」に次の一行を加えてください。

register_taxonomy_for_object_type();

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

他のテーブルに依存していません。

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

  • term_taxonomyテーブル term_idカラム

カラム構成

term_idIDbigint(20) unsigned
name名前varchar(200)
slugスラッグvarchar(200)
term_group類義語のグループbigint(10)

term_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のレコードは作成しないように注意してください。

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

  • term_taxonomyテーブル term_idカラム
  • term_taxonomyテーブル parentカラム

name

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

「カテゴリー」「タグ」「カスタムタクソノミー」の名前です。

約200文字までの名前を付けられます。
ただし、日本語などのマルチバイト文字は付けられる文字数が少なくなります。

slug

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

「スラッグ」つまり「URL」です。

varchar(200)型のため、200文字までのURLを付けられます。
ただし、日本語などのマルチバイト文字は付けられる文字数が少なくなります。

また、日本語の場合は「ピュニコード(Punycode)」に自動エンコードされます。
SEO面でも日本語は避けたほうが良いです。

URLは半角数字、半角英語小文字だけで構成することをおすすめします。

term_group

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

名前から察すると「タームのグループ」です。
知っている人、いたら教えて下さい。

参考サイト

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

コメント

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