WordPressのデータベース構造の確認する

WordPressのデータベースについて WordPress

PHPやDBが扱える方向けのWordPressの構造理解のための内容です。

WordPressのデータベース構造を確認する

DBの構造をわかっていると、PHPコードを書き換えて、読み出しやカスタマイズがさらに柔軟に出来ます。

この作業はPHPの操作を理解して、MySQLが扱える人向けの内容です。

WordPressのデータベースから、それぞれのテーブルを確認してみましょう。

テーブル名 保存しているデータ
wp_posts 投稿、固定ページ、メディア、カスタムメニュー、カスタム投稿、リビジョン等の投稿関連の主要なデータ
wp_postmeta wp_postsのメタデータ。主にカスタムフィールド。
wp_terms カテゴリー・タグ・カスタムタクソノミーのターム名やそのスラッグの情報
wp_term_taxonomy カテゴリー・タグ・カスタムタクソノミーとターム名を関連付けるためのデータ。
wp_term_relationships カテゴリー・タグ・カスタムタクソノミーと投稿を関連付けるためのデータ
wp_user 管理者等々のユーザー情報を格納しているテーブル。ユーザー名・パスワード・メールアドレス等を保存している。
wp_usermeta 各ユーザ特有のユーザ・メタデータを格納
wp_comment WordPressへのコメント・トラックバック・ピンバックデータを格納
wp_commentmeta 各コメントのメタデータと呼ばれる情報。
wp_options 管理画面メニューの「設定」で入力した情報を保存しているテーブル。
wp_links この機能は非推奨になりました、とCodexにあるので無視。

「wp_links」は、古いWPのテーブル。リンク作成で入力されたリンク情報を格納。この機能は非推奨になりました、とCodexにあるので最新のWPでは使うことが無い。使いたい場合は、Links Managerプラグインで有効化することは出来る。

記事が保存される「wp_posts」テーブルを確認する

記事情報がはいっている重要なテーブルです。カラムネーム`post_status`の「ステータス」によってさらに分類されます。

WordPress はデフォルトで8つの投稿ステータスがあります。inherit(継承)は数が多いです。

投稿ステータス 意味
公開済 (publish) 公開済みの投稿に付与されるステータスのことで誰でも見ることができます。
予約済 (future) 投稿を予約した時に付与されるステータス。
下書き (draft) 書きかけの投稿に付与されるステータス。
承認待ち (pending) 複数のユーザーで運営しているワードプレスの投稿で権限のない投稿者が権限を持つユーザーに公開の許可をもらう投稿に付与されるステータス。
非公開 (private) 非公開の投稿に付与されるステータス。
ゴミ箱 (trash) ゴミ箱の中にある投稿に付与されるステータス。
自動保存 (auto-draft) 執筆中に自動保存(リビジョン)された投稿に付与されるステータス。デフォルトでは60秒で自動保存されるようです。
継承 (inherit) 投稿に添付しているメディアファイルやリビジョンに付与されるステータス。実際には親のステータスが割り当てられる。

継承 (inherit)は、投稿記事を「親」としたページ内の画像や動画、編集履歴が「継承(inherit)」になります。

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