MENU
  • 無料レッスンLesson
  • プロフィールprofile
  • サービスService
    • WordPress個人レッスン
    • 起業女性に寄りそうWEBお悩み相談
  • 実績・お客さまの声portfolio
  • ブログblog
  • お問合せcontact

    カテゴリー

    • ホームページ個別レッスン
    • Web・SNS集客
    • Web系プログラミング
    • WordPressプログラミング
    • フリーランスの小技
    • Web活用相談
    • はじめてのWordPress
    • アメブロカスタマイズ
    • ホームページ制作
    • 自分で作れるおしゃれデザイン
    • アイデア・思考の整理

    タグ

    Adobe IllustratorGatsby.jsgitGitHubHTML/CSSMySQLNode.jsPythonSourcetreeSWELLWordPressおすすめWPプラグインおすすめツールアメブロエックスサーバーサーチコンソールセキュリティバレットジャーナルライブドアブログ環境構築確定申告開発環境

    アーカイブ

    • 2025年3月
    • 2025年1月
    • 2024年12月
    • 2024年3月
    • 2023年7月
    • 2023年1月
    • 2022年12月
    • 2022年11月
    • 2022年8月
    • 2022年4月
    • 2022年3月
    • 2022年2月
    • 2022年1月
    • 2021年12月
    • 2021年11月
    • 2021年10月
    • 2021年9月
    • 2021年8月
    • 2020年10月
    • 2020年8月
    • 2020年7月
    • 2020年6月
    • 2020年5月
    • 2020年4月
    • 2020年3月
    • 2020年1月
    • 2019年11月
    • 2019年9月
    • 2019年8月
    • 2019年5月
    • 2019年2月
    • 2019年1月
    • 2018年11月
    • 2018年9月
    • 2018年8月
    • 2018年7月
    • 2018年6月
    • 2017年10月
    • 2017年9月
    • 2017年7月
    個人事業主・女性起業家のためのWordPress・HP・ブログレッスン
    自分で作れる優しいホームページレッスン
    • 無料レッスンLesson
    • プロフィールprofile
    • サービスService
      • WordPress個人レッスン
      • 起業女性に寄りそうWEBお悩み相談
    • 実績・お客さまの声portfolio
    • ブログblog
    • お問合せcontact
    自分で作れる優しいホームページレッスン
    • 無料レッスンLesson
    • プロフィールprofile
    • サービスService
      • WordPress個人レッスン
      • 起業女性に寄りそうWEBお悩み相談
    • 実績・お客さまの声portfolio
    • ブログblog
    • お問合せcontact
    1. ホーム
    2. Web制作スキルアップ
    3. WordPressプログラミング
    4. 【図解】WordPressのテーブル構造はどうなっているの?

    【図解】WordPressのテーブル構造はどうなっているの?

    2022 12/19
    WordPressプログラミング
    2021-12-032022-12-19

    WordPressは記事などデータをデータベースに保存しています。

    普段は意識しませんが、プラグインを作っていると、「WordPressデータベースには、どのようにデータが保存されているのか?」テーブル構成を気になってきました。

    今回は、データベースの中身をのぞいて、テーブル構造を確認していきます。

    https://wpdocs.osdn.jp/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E6%A7%8B%E9%80%A0
    目次

    WordPressのテーブル一覧

    WordPress(ver 5.8.2)のデータベースには12個のテーブルがありました。

    テーブル名の接頭辞(wp_)は、WordPress インストール時の設定によります。

    テーブル名説明
    wp_commentmetaコメントのメタ情報。
    プラグインなどでコメントに紐づくデータを格納するときに使う。
    wp_commentsWordPress へのコメント・トラックバック・ピンバックデータを格納
    wp_linksリンク作成 で入力されたリンク情報を格納。(Codexによると、この機能は非推奨)
    wp_options管理>設定 で設定されたオプション設定を格納。
    サイトURLやホームURL、サイト名、説明などが入っている。
    プラグインの設定情報もここに格納する。
    wp_postmetaメタデータという各投稿に各投稿に情報や設定を付加するための情報を格納。
    主にカスタムフィールドとして使う。
    wp_posts投稿記事、 ページ 、ナビゲーションメニューのデータを格納
    wp_termsカテゴリ・タグの名前やスラッグなどの基本データを格納。
    wp_term_relationshipswp_postsの各投稿と カテゴリ・タグとの紐付けを情報を格納。
    各投稿にどのカテゴリ、タグが設定されているかのデータが入っている。
    wp_term_taxonomywp_termsのデータがカテゴリなのかタグなのか、分類データを格納
    wp_termmetaver4.4から、新しく追加されたテーブル。カテゴリ・タグのメタ情報を格納。
    wp_usermeta各ユーザ特有のユーザ・メタデータを格納。
    wp_users登録ユーザ情報を格納。

    主に、5種類のデータが格納されています。

    • 投稿に関わるデータ(wp_posts、wp_postmeta)
    • コメントに関わるデータ(wp_comments、wp_commentmeta)
    • カテゴリ・タグに関わるデータ(wp_terms、wp_term_relationships、wp_term_taxonomy、wp_termmeta)
    • ユーザーに関わるデータ(wp_users、wp_usersmeta)
    • 設定に関わるデータ(wp_options)

    ※wp_linksは非推奨とのことで割愛。

    これらのテーブルには、テーマやプラグインによって新しいデータが格納されたり、既存データが更新されます。また新しいテーブルが作成されることもあります。

    今回は主要なテーブルとして投稿とタクソノミーのテーブルを見ていきます。

    投稿関連のテーブル

    wp_postsの主なテーブル項目

    まずは最重要データであるwp_posts。固定ページ、投稿、添付ファイルなどを格納する。

    テーブル項目説明
    ID投稿ID(保存順に自動採番)
    post_author投稿者のユーザID
    post_date投稿日時
    post_content本文
    post_titleタイトル
    modified_date更新日時
    post_status投稿ステータス。
    'publish': 公開済み
    'pending': ペンディング
    'draft': 草稿
    'private': プライベート(非公開)
    'attachment':
    'inherit': 継承(添付ファイル、改訂履歴・自動保存のとき)
    'future': 予約投稿
    post_type投稿種別
    'post': 投稿
    'page': ページ
    'attachment': 添付ファイル
    'revision': 改訂履歴・自動保存

    wp_postmetaの主なテーブル項目

    投稿のメタ情報を格納。主にカスタムフィールドに使われる。

    テーブル項目説明
    meta_idメタID(一意)(登録順に自動採番)
    post_id投稿ID
    meta_keyカスタムフィールドのキー名
    meta_valueカスタムフィールドの値

    post(投稿)にはpostmeta、comment(コメント)にはcommentmeta、term(カテゴリー・タグ)にはtermmetaと、それぞれメタ情報を保管するテーブルが用意されています。

    wp_postsとwp_postmetaの関係

    wp_postsとwp_postmetaの関係

    タクソノミー関連のテーブル

    続いて、カテゴリーやタグ関連のテーブル。

    テーブルには「term(ターム)」や「taxonomy(タクソノミー)」という名前がつけられている。

    タクソノミーについて調べてみると、グルーピング(分類)のことを意味しているらしい。

    WordPress では、「分類 (タクソノミー)」は投稿 (またはリンク、カスタム投稿タイプ) をグループ化するための仕組みのことです。

    タクソノミー

    タクソノミーの一つとして、カテゴリーやタグが用意されている。

    呼び方としては、グルーピングの概念をタクソノミーとよび、カテゴリーやタグなどの具体的なグループのことを「ターム」と読んでいるとのことです。

    さらに、カテゴリーやタグ以外にも、カスタム分類として独自のグルーピングを追加することもできます。

    wp_termsの主なテーブル項目

    タームの名前やスラッグを格納するテーブル。

    テーブル項目説明
    term_idterm のユニークID
    nameterm 名
    slugterm スラッグ
    term_group類義語のグルーピング

    wp_term_relationshipsの主なテーブル項目

    記事とタームを紐づけるためのテーブル

    テーブル項目説明
    object_id記事ID or リンクID
    term_taxonomy_idterm_taxonomy テーブルの term_taxonomy_id
    term_order

    wp_term_taxonomyの主なテーブル項目

    タクソノミーがカテゴリなのか、タグなのか分類のデータが入っている。

    テーブル項目説明
    term_taxonomy_idterm+taxonomy ペアのユニークID
    term_idwp_terms テーブルの term_id
    taxonomyterm が属する taxonomy
    'category': 記事カテゴリ
    'link_category': リンクカテゴリ
    'post_tag': タグ
    descriptionterm の分類上の説明。「カテゴリ説明」など
    parent分類上の term 間の上下関係
    countterm+taxonomy ペアに関連付けられたオブジェクト数。
    例えば、taxonomy=’category’ であればこのカテゴリに属する投稿記事数

    wp_terms、wp_term_relationships、wp_term_taxonomyの関係

    実際にWordPressを動かしながら、データの入り方をみていきます。

    まず、カテゴリーに親カテゴリー:日記、小カテゴリー:読んだ本を登録します。

    そして、新たに、タグ「ファンタジー」を登録します。

    この時点で、データベースは以下のようなデータが入っています。。

    • カテゴリーもタグも、wp_termsに名前とスラッグがデータとして入る。
    • 「日記」「読んだ本」はカテゴリーなので、wp_terms_taxonomyのtaxonomyはcategoryになっている
    • 「ファンタジー」はタグなので、wp_terms_taxonomyのtaxonomyはpost_tagになっている
    • 「読んだ本」は日記のサブカテゴリーなので、wp_terms_taxonomyのparentに、親のterm_id(日記)が入っている。

    続いて、記事を二つ投稿し、それぞれカテゴリーとタグを設定します。
    記事ID 14: カテゴリー「日記」、タグなし
    記事ID 17: カテゴリー「読んだ本」、タグ「ファンタジー」

    データベースを確認すると、wp_term_relationshipsにwp_posts(投稿)とwp_terms(カテゴリー・タグ)の紐付けが入っています。

    • wp_term_taxonomyのcountにはそのカテゴリ・タグが設定されている記事数がはいる。
    WordPressプログラミング
    WordPress
    よかったらシェアしてね!
    中谷恵美
    あなたのお仕事を育てるホームページの先生
    システムエンジニア、ITコンサルタントを経て、フリーランスに。

    ・ホームページ作成
    ・ブログのカスタマイズ
    ・LINEやメルマガのセットアップ
    ・Canvaを使ったデザインの作り方
    ・Googleの分析ツール
    ・自分の強みを生かした集客
    などの、個人レッスンをしています。

    「仕事の発信に使えるようになりたい」
    「自分でも使えるスキルを身につけたい」
    ITが苦手な個人事業主さんに向けて、困ったときのWEB担当として幅広くサポートしています。

    HP作成のほかにも、心理カウンセラーとしても活動中。

    趣味は、文房具集め、ゲーム(牧場系とモンハン)、手芸(刺繍、洋裁)。
    運動が苦手で体が硬いのが悩み。今年、腰痛改善にジムに通い始めたが、果たして続くのか。。。
    詳しいプロフィールを見る

    メルマガバナー

    活動実績

    【HP個人レッスン】

    ●ハワイアン伝統ロミロミサロン・Aさま
    ・2ヶ月でサロンのHPをリニューアル。新サービス立上げ時も自分でHPを作成できるように。
    「最初はパソコン音痴の私にできるか不安でしたが、とても丁寧な指導でわかりやすかったです。
    私好みの素敵なHPができあがり、とっても嬉しいです!」

    ●Mさま
    ・2回のミーティングでWordPress運営スキルを習得。オウンメディアを立上げ。

    ●Sさま
    ・5日間で無料ブログからWordPressへのお引越し。
    「半ば諦めかけていた移管を短期間で終えることが出来ました」

    【ホームページ作成】

    ●これまでご依頼いただいたお客さま
    (個人)写真家・美容サロン・弁護士・デザイナー・心理カウンセラー・占い師

    (法人)メーカー代理販売店、コンサルティング企業、人事支援企業

    【経歴・資格など】
    ・基本情報技術者
    ・簿記2級

    【営業時間】平日:10:00~19:00
    【休業日】土、日、祝、年末年始

    新着記事
    • 【お客様の声】ゴールが明確になり、とても安心できました
      2025-03-13
      Web・SNS集客
    • 【お客様の声】WordPressには自由度の高さを感じます
      2025-01-21
      ホームページ個別レッスン
    • WordPressに記事を一括アップロードするには
      2024-12-05
      はじめてのWordPress
    • 【お客様の声】等身大のちょっと先を提案してもらえた
      2024-03-08
      ホームページ個別レッスン
    • 【お客様の声】寄り添ってもらえたっていうのが一番心強かった
      2023-07-21
      ホームページ個別レッスン
    人気記事
    • 【CSSコピペOK】おしゃれな引用blockquoteデザイン10選
      2018-09-13
      WordPressプログラミング
    • 【Mac】SourcetreeからGitHubへSSH接続する
      2021-08-05
      Web系プログラミング
    • 【CSS】シンプルで女性らしい囲み枠デザイン48選
      2018-08-24
      アメブロカスタマイズ
    • 自分でできる。アメブロのおしゃれなカスタマイズまとめ
      2022-11-04
      アメブロカスタマイズ
    • Node.js+ExpressでMySQLに接続して一覧表示する
      2020-04-25
      Web系プログラミング
    目次