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

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

データベース構造

提供: WordPress Codex 日本語版
2008年5月14日 (水) 19:37時点におけるBono (トーク | 投稿記録)による版 (■WP 2.3 最終版 (編集不可。2.3 系が長期継続メンテされる場合はこの版からサブページ化を検討)旧バージョンのデータベース概要: wikiインポート時に oldid が付け替わったため修正)

移動先: 案内検索

このページでは、WordPress バージョン 2.3 の標準インストールで作成されるデータベース・テーブルの一覧と概要説明を示します。現在、WordPress バージョン 2.3 が対応しているデータベースは、MySQL バージョン 4.0 以上のみです。

WordPress は内部でデータベースと連動しているため、エンドユーザはその構造を気にかける必要はありません。しかしながら、プラグインを作ろう/enとすると、直接データベースと連携する方法に関心を持つかもしれません。WordPress はその処理が容易にできるように wpdb_Class 関数を提供しています。

注:

  • テーブル名の接頭辞(wp_)は、WordPress インストール時の設定によります。
  • プラグインやテーマによって、設定データの追加、既存テーブルへのフィールド追加、新規テーブル作成がなされることがあります。
  • 旧バージョンのデータベース概要

テーブル一覧

WordPress の標準インストールで作成される全テーブルの一覧です。各テーブルが持つ具体的な情報は次節をご覧ください。

WordPress 2.3 テーブル (10)
テーブル名 概要 関連インタフェース画面
wp_comments WordPress へのコメント・トラックバック・ピンバックデータを格納 コメントは投稿記事への反応として読者によって作成される。管理者によるコメント管理は 管理パネル > Manage > Comments にて
wp_links Blogroll Manager 機能で入力されたリンク情報を格納 管理パネル > Blogroll > Manage Blogroll
管理パネル > Blogroll > Add Links
管理パネル > Blogroll > Import Links
wp_options 管理 > Options パネルで設定されたオプション設定情報を格納。プラグインの設定情報が格納されることも多い。 管理パネル > Options > General
管理パネル > Options > Writing
管理パネル > Options > Reading
管理パネル > Options > Discussion
管理パネル > Options > Permalinks
管理パネル > Options > Miscellaneous
wp_postmeta メタデータという各投稿記事特有の情報を格納。タグ付け等のプラグインがその情報を当テーブルに追加することがある。 管理パネル > Write > Write Post(カスタムフィールド)
wp_posts Wordpress データの核である投稿記事およびページデータを格納 管理パネル > Write > Write Post
管理パネル > Write > Write Page
wp_terms 投稿およびリンクの分類(カテゴリ・タグ)に使われる語句の基本情報を格納 管理パネル > Write > Write Post
管理パネル > Manage > Categories
管理パネル > Blogroll > Manage Blogroll
管理パネル > Blogroll > Add Links
wp_term_relationships オブジェクト(wp_posts テーブルの各投稿記事wp_links テーブル内の各リンク)と wp_term_taxonomy の(少なくとも 1)カテゴリ・タグとの関連付け情報を格納 管理パネル > Write > Write Post
管理パネル > Blogroll > Manage Blogroll
管理パネル > Blogroll > Add Links
wp_term_taxonomy 投稿およびリンクの分類上の語句(カテゴリ・タグ)データを格納 管理パネル > Write > Write Post
管理パネル > Manage > Categories
管理パネル > Blogroll > Manage Blogroll
管理パネル > Blogroll > Add Links
wp_usermeta 各ユーザ特有のユーザ・メタデータを格納 管理パネル > Users
wp_users 登録ユーザ情報を格納 管理パネル > Users

テーブル詳細

WordPress の標準インストールで作成される各テーブルの項目一覧です。

テーブル: wp_comments

フィールド タイプ Null キー 初期値 備考 概要
comment_ID bigint(20) unsigned PRI NULL auto_increment コメントID(投稿順に自動採番)
comment_post_ID int(11) IND 0 FK->wp_posts.ID コメントが属する投稿ID
comment_author tinytext コメント投稿者
comment_author_email varchar(100) コメント投稿者の Eメールアドレス
comment_author_url varchar(200) コメント投稿者のウェブサイトURL
comment_author_IP varchar(100) コメント投稿者の IPアドレス
comment_date datetime 0000-00-00 00:00:00 コメント投稿日時
comment_date_gmt datetime 0000-00-00 00:00:00 コメント投稿日時(GMT)
comment_content text コメント内容
comment_karma int(11) 0
comment_approved enum('0','1','spam') IND 1 コメントの承認状態
  • '0': 承認待ち
  • '1': 承認済み
  • 'spam': スパム
comment_agent varchar(255) コメント投稿者のユーザエージェント
comment_type varchar(20) コメントの種類
  • 'trackback': トラックバック
  • 'pingback': ピンバック
  • 通常コメントは値なし
comment_parent bigint(20) 0 FK->wp_comment.ID
user_id bigint(20) 0 FK->wp_users.ID コメント投稿者が登録ユーザであるとき、そのユーザID
フィールド タイプ Null キー 初期値 備考 概要
link_id bigint(20) PRI NULL auto_increment リンクID(登録順に自動採番)
link_url varchar(255) リンク URL
link_name varchar(255) リンク名
link_image varchar(255) リンク画像の URI
link_target varchar(25) リンクターゲット
link_category bigint(20) IND 0 FK->wp_categories.cat_ID
link_description varchar(255) 説明
link_visible enum('Y','N') IND Y
  • 'Y': 表示する
  • 'N': 表示しない
link_owner int(11) 1
link_rating int(11) 0 評価
link_updated datetime 0000-00-00 00:00:00
link_rel varchar(255)
link_notes mediumtext メモ
link_rss varchar(255) リンクのフィード URI

テーブル: wp_options

フィールド タイプ Null キー 初期値 備考 概要
option_id bigint(20) PRI NULL auto_increment
blog_id int(11) PRI 0
option_name varchar(64) PRI&IND
option_value longtext
autoload enum('yes','no') yes
  • 'yes':
  • 'no':

テーブル: wp_postmeta

フィールド タイプ Null キー 初期値 備考 概要
meta_id bigint(20) PRI NULL auto_increment メタデータのユニークID
post_id bigint(20) IND 0 FK->wp_posts.ID 投稿記事ID
meta_key varchar(255) YES IND NULL カスタムフィールドのキー名
meta_value longtext YES NULL カスタムフィールドの値

テーブル: wp_posts

フィールド タイプ Null キー 初期値 備考 概要
ID bigint(20) unsigned PRI NULL auto_increment 投稿ID(保存順に自動採番)
post_author bigint(20) 0 FK->wp_users.ID 投稿者のユーザID
post_date datetime 0000-00-00 00:00:00 投稿日時
post_date_gmt datetime 0000-00-00 00:00:00 投稿日時(GMT)
post_content longtext 本文
post_title text タイトル
post_category int(4) 0 FK->wp_categories.cat_ID
post_excerpt text 抜粋オプション
post_status enum('publish', 'pending', 'draft', 'private', 'static', 'object', 'attachment' ,'inherit', 'future') IND publish 投稿ステータス
  • 'publish': 公開済み
  • 'pending': ペンディング
  • 'draft': 草稿
  • 'private': プライベート
  • 'static':(2.0.x 以前はページ
  • 'object':
  • 'attachment':
  • 'inherit': 添付ファイル
  • 'future': 予約投稿
comment_status enum('open', 'closed', 'registered_only') open コメントステータス
  • 'open': 許可
  • 'closed': 不許可
  • 'registered_only': 登録ユーザのみ
ping_status enum('open','closed') open ピン・ステータス
  • 'open': トラックバック・ピンバックを受け付ける
  • 'closed': 受け付けない
post_password varchar(20) 閲覧パスワード
post_name varchar(200) IND 投稿スラッグ
to_ping text
pinged text ピン通知済み URL
post_modified datetime 0000-00-00 00:00:00 更新日時
post_modified_gmt datetime 0000-00-00 00:00:00 更新日時(GMT)
post_content_filtered text
post_parent bigint(20) 0 FK->wp_posts.ID 親ページの投稿ID、添付ファイルが属する投稿ID
guid varchar(255)
menu_order int(11) 0 ページの表示順
post_type varchar(20) post 種類
  • 'post': 記事
  • 'page': ページ
  • 'attachment': 添付ファイル
post_mime_type varchar(100) 添付ファイルのとき MIMEタイプ(image/png など)
comment_count bigint(20) 0 コメント数

テーブル: wp_terms

フィールド タイプ Null キー 初期値 備考 概要
term_id bigint(20) PRI auto_increment term のユニークID
name varchar(55) term 名
slug varchar(200) UNI IND term スラッグ。term 名を URL で扱いやすい形にしたもの
term_group bigint(10) 0 類義語のグルーピング

テーブル: wp_term_relationships

フィールド タイプ Null キー 初期値 備考 概要
object_id bigint(20) PRI Pt1 0 記事ID or リンクID
term_taxonomy_id bigint(20) PRI Pt2, IND 0 FK->wp_term_taxonomy.term_taxonomy_id term_taxonomy テーブルの term_taxonomy_id

テーブル: wp_term_taxonomy

フィールド タイプ Null キー 初期値 備考 概要
term_taxonomy_id bigint(20) PRI auto_increment term+taxonomy ペアのユニークID
term_id bigint(20) UNI IND Pt1 0 FK->wp_terms.term_id wp_terms テーブルの term_id
taxonomy varchar(32) UNI IND Pt2 term が属する taxonomy
  • 'category': 記事カテゴリ
  • 'link_category': リンクカテゴリ
  • 'post_tag': タグ
description longtext term の分類上の概要説明。「カテゴリ概要」など
parent bigint(20) 0 分類上の term 間の上下関係
count bigint(20) 0 term+taxonomy ペアに関連付けられたオブジェクト数。taxonomy='category' であればこのカテゴリに属する投稿記事数

テーブル: wp_usermeta

フィールド タイプ Null キー 初期値 備考 概要
umeta_id bigint(20) PRI NULL auto_increment
user_id bigint(20) IND '0' FK->wp_users.ID
meta_key varchar(255) YES IND NULL
meta_value longtext YES NULL

テーブル: wp_users

フィールド タイプ Null キー 初期値 備考 概要
ID bigint(20) unsigned PRI NULL auto_increment ユーザID
user_login varchar(60) UNI & IND ログイン名
user_pass varchar(64) パスワード
user_nicename varchar(50) IND
user_email varchar(100) Eメールアドレス
user_url varchar(100) webサイト URI
user_registered datetime 0000-00-00 00:00:00 登録日
user_level int(2) unsigned 0
user_activation_key varchar(60)
user_status int(11) 0
display_name varchar(250) 表示名

旧バージョンのデータベース概要

変更履歴

  • 2.3 :
    • categorieslink2catpost2cat テーブル廃止、termsterm_taxonomyterm_relationships テーブル追加。
    • options テーブルより 6フィールド削除。
    • posts テーブルの post_status フィールドに新規ステータス 'pending' を追加。
    • 参考: プラグインとテーマの移行 - 2.2 から 2.3 への移行
  • 2.1 :
    • linkcategories テーブル廃止。リンクカテゴリデータを categories テーブルにマージ、ID付け替え。
    • posts テーブルに post_type フィールドを追加。記事/ページを判別。2.0.x では、「ページ」=post_status フィールドが 'static'
    • posts テーブルの post_status フィールドに、予約投稿(未来日投稿)を示す 'future' を追加。2.0.x では NOW() を使用。
    • 参考: プラグインとテーマの 2.1 への移行 - コア WordPress DB の変更点

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