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 |