Wordpressのテーブル構成
wordpressはmysqlを利用したDBアプリケーションです。 Wordpressではどのようなテーブルが利用されているのかを見ていきましょう。
テーブルの分類
- 設定
- 投稿
- タクソノミー
- ユーザー
- コメント
に関するテーブルに分かれ、 さらにテーブルとテーブルを繋ぐための中間テーブルがあります。
1. wp_posts
wp_posts テーブルはwordpressの中心となるテーブルです。
カラム名 | 説明 |
---|---|
ID | 投稿の主キー |
post_author | 投稿の著者のIDです。 |
post_date | 投稿日時がサーバのタイムゾーンで保存されます。 |
post_date_gmt | 投稿日時がgmtで保存されます。 |
post_content | 投稿の本文です。 |
post_title | 投稿のタイトルです。 |
post_excerpt | 投稿の抜粋です。 |
post_status | 投稿のステータスです。 |
comment_status | コメントを受け付けるかどうかです。 |
ping_status | pingを受け付けるかどうかです。 |
post_password | 投稿にかかっているパスワードです。 |
post_name | 投稿のスラッグです。 |
to_ping | ping送信予定のurlです。 |
pinged | 送信済みpingurlです。 |
post_modified | 投稿の更新日時です。 |
post_modified_gmt | 投稿の更新日時のgmtです。 |
post_content_filtered | フィルターされた後の本文。通常は空 |
post_parent | 親投稿のid |
guid | パーマリンクっぽいものが入っているが、単なる識別文字列。 |
menu_order | 表示の順序 |
post_type | 投稿のタイプ(page, post, attachment, その他のカスタム投稿タイプ) |
post_mime_type | 投稿のmimeタイプ。画像の場合に画像タイプが入る。 |
comment_count | コメント数 |
2. wp_postmeta
wp_postmeta テーブルは、投稿にひもづく各種情報(メタ情報)をまとめたテーブルです。
どの投稿にどんな情報が紐づいているかを取得することが可能です。
- 利用するテンプレート
- ひもづく添付ファイルに関する各種情報
- その他各種カスタムフィールドの情報 などが設定されています。 本来このようなテーブル設計は望ましくありませんが、 Wordpressでは新たにテーブルを追加することなく、 自由にフィールドを追加できるようにするためにこのような設計を採用しています。
カラム名 | 説明 |
---|---|
meta_id | メタ情報の主キー |
post_id | ひもづく投稿のid |
meta_key | メタ情報の項目名 |
meta_value | メタ情報の値 |
3. wp_options
ワードプレスの設定情報がまとまっているテーブルです。
デフォルトの設定情報のほか、プラグインが利用する設定についての 情報などもこのテーブルに格納されています。
カラム名 | 説明 |
---|---|
option_id | 主キー |
option_name | 設定情報の項目名 |
option_value | 設定情報の値 |
autoload | オートロードするか否か。 |
4. wp_term_relationships
wp_posts(投稿)とwp_term_taxonomyを繋ぐ中間テーブル
カラム名 | 説明 |
---|---|
object_id | 投稿のid |
term_taxonomy_id | タクソノミーのid |
term_order | タームの優先度 |
5. wp_term_taxonomy
wp_termsにtaxonomy(カテゴリ・タグなどの分類軸)を設定。
カラム名 | 説明 |
---|---|
term_taxonomy_id | 主キー |
term_id | ひもづくタームのid |
taxonomy | タクソノミー名 |
description | タームについての説明。 |
parent | 親ターム |
count | タームに属する投稿の数 |
6. wp_terms
ターム(カテゴリ・タグなどの分類の各項目) wp_termsとwp_term_taxonomyは実質的には1:1で結びついているので注意。
カラム名 | 説明 |
---|---|
term_id | タームの主キー |
name | ターム名 |
slug | タームのスラッグ(別名) |
term_group | 親タームのタームID |
7. wp_users
ユーザー情報テーブル
カラム名 | 説明 |
---|---|
ID | ユーザーID |
user_login | ログイン名 |
user_pass | パスワード |
user_nicename | url用のログイン名 |
user_email | メールアドレス |
user_url | ユーザーのurl |
user_registered | ユーザーの登録日時 |
user_activation_key | パスワード再発行用のアクティベーションキー |
user_status | ユーザーのステータス |
display_name | 表示名 |
8. wp_usermeta
ユーザーのメタ情報
カラム名 | 説明 |
---|---|
umeta_id | 主キー |
user_id | ユーザーID |
meta_key | メタ情報の項目名 |
meta_value | メタ情報の値 |
9. wp_comments
投稿に対するコメントのテーブル
カラム名 | 説明 |
---|---|
comment_id | コメントの主キー |
comment_post_id | 投稿のID |
comment_author | コメントの投稿者名 |
comment_author_email | コメント投稿者のメールアドレス |
comment_author_url | コメント投稿者のURL |
comment_author_IP | コメント投稿者のIPアドレス |
comment_date | 投稿日時 |
comment_date_gmg | 投稿日時のgmt |
comment_content | コメント本文 |
comment_karma | カルマ(利用されていない) |
comment_approved | 承認ステータス |
comment_agent | コメント投稿者のユーザーエージェント |
comment_type | コメントの種類 |
comment_parent | 親コメントのID |
user_id | コメント投稿者のユーザーID(ログインしてコメントした場合) |
10. wp_commentmeta
コメントに関するメタ情報のテーブル
カラム名 | 説明 |
---|---|
meta_id | 主キー |
comment_id | コメントのID |
meta_key | メタ情報の項目名 |
meta_value | メタ情報の値 |
11. wp_links
現在は利用されていないテーブル。 以前はリンクの管理に使われていた。