この記事は、WordPressのデータサイクルの最初のRachel McCollin記事の翻訳です。 WordPressのデータ構造、コンテンツタイプ、およびそれらの関係を整理します。 これは主に初心者に役立ちますが、専門家は自分で新しいものを見つけることができます。
翻訳者からのコメント
この翻訳では、WordPressコーデックに基づいた用語を使用しています。
唯一の例外はコンテンツという用語です。 ほとんどの場合、使用されるのは翻訳の「コンテンツ」ではなく、「コンテンツ」です。 この翻訳は本文でより正しいと思います。
場合によっては、わかりやすくするために、英語でのデコードを括弧で囲んで示しています。
エラーやタイプミスに関するコメントは、PMでお知らせください。
- 投稿-投稿
- ページ-ページ、
- 添付ファイル-添付ファイル、
- 改訂-エディション、
- コメント-コメント
- 分類-分類、
- カテゴリー-カテゴリー
- タグ-タグ
- 用語-用語(カスタム分類の特定の意味)
- ユーザー-ユーザー
- メタデータ-メタデータ
唯一の例外はコンテンツという用語です。 ほとんどの場合、使用されるのは翻訳の「コンテンツ」ではなく、「コンテンツ」です。 この翻訳は本文でより正しいと思います。
場合によっては、わかりやすくするために、英語でのデコードを括弧で囲んで示しています。
エラーやタイプミスに関するコメントは、PMでお知らせください。
WordPressサイトは、3つの主要な要素で構成されています。
- WordPressインストール自体
- テーマ、プラグイン、ダウンロードを含むwp-contentディレクトリのコンテンツ
- コンテンツがデータとして保存されるデータベース。
ほとんどのWordPressユーザーは、データベースを直接操作することはありません。 彼らは、サイトの運用を確実にするために絶えず働いていることさえ知らないかもしれません。 WordPressはページを表示すると、データベースに接続して、作成者がサイトに追加したコンテンツを表示します。
この一連の記事では、WordPressデータベースの側面を詳しく見ていきます。 このシリーズは、9つの部分で構成されています。
- はじめに(今読んでいます)
- データ間の関係
- コンテンツタイプ
- ユーザーデータ
- メタデータ
- 分類法、カテゴリ、ラベル、および用語
- 分類とメタデータ
- オプション表
- WordPressマルチサイトデータ
この記事では、データベーステーブルと、それらがコンテンツタイプにどのように関係するかについて説明します。 これらのタイプのコンテンツは、WordPressでの作業に使用され、何、どのように、どこに保存するかを決定します。
WordPressコンテンツタイプ
WordPressデータベースに保存されているデータを解析する前に、コンテンツのタイプを検討してください。 次の標準タイプのコンテンツが存在します。
- 投稿
- Pages
- カスタム投稿タイプ
- 添付ファイル
- リンク集
- メニュー項目(ナビゲーションメニュー項目)
これらの種類のコンテンツには、次のデータがあります。
- カテゴリー
- タグ
- カスタム分類と用語
- メタデータ(投稿メタデータ)
さらに、異なる形式で保存されるコンテンツのタイプがあります。
- ウィジェット
- オプション
- ユーザー
- MU WordPressのサイト
- 一部のテーマ/プラグインが追加する非標準コンテンツ(ハードコーディングされたコンテンツ)。
- サードパーティのコンテンツ(例:RSS)
これらすべてのタイプのコンテンツは、データベーステーブルまたはテーマ/プラグイン設定ファイルに保存されます。 各タイプは、テーブル内の個別のエントリとして、またはその一部として表すことができます。 また、他のテーブルのデータに関連付けることができます。 たとえば、投稿データはユーザーデータにリンクされているため、WordPressは作成者と投稿を把握しています。
WordPressデータベース構造
WordPressはいくつかの関連テーブルを使用します。 それらの間には1対多の関係が確立されます。 たとえば、1つのページに多くのコメントがある場合があります。 以下の図は、 WordPressコードから抜粋したものです 。 テーブルとテーブル間の関係を示します。
ほとんどのテーブルは、単一のフィールドを使用して1つ以上の他のテーブルにリンクされます。 このフィールドは、各レコードの一意の識別子になります(例post_id)。 各テーブルの詳細:
テーブル | データ | 他のテーブルへのリンク |
---|---|---|
wp_posts
| エントリ、ページ、添付ファイル、エディション、ユーザーエントリ
| post_idを介したwp_postmeta
post_idを介したwp_term_relationships |
wp_postmeta
| 投稿、ページなどのメタデータ | post_idを介したwp_posts
|
wp_comments
| コメント | post_idを介したwp_posts
|
wp_commentmeta
| コメントのメタデータ | comment_idを介したwp_comments
|
wp_term_relationships
| 分類法と投稿、ページなどの間のリンク | post_idを介したwp_posts
term_taxonomy_idを介したwp_term_taxonomy |
wp_term_taxonomy
| 分類法(カテゴリとタグを含む) | term_taxonomy_idを介したwp_term_relationships
|
wp_terms
| カスタム分類のカテゴリ、ラベル、条件
| term_idによるwp_term_taxonomy
|
wp_links
| ブロック内のリンク(通常は現在使用されていません) | link_idを介したwp_term_relationships
|
wp_users
| ユーザー | post_authorによるwp_posts
|
wp_user_meta
| 各ユーザーのメタデータ | user_idを介したwp_users
|
wp_options
| サイトのオプションと設定
(設定ページの管理パネルとテーマ/プラグインにインストールされます) | 利用できません |
いくつかの点に注意する価値があります。
- データベーステーブルには、デフォルトでwp_というプレフィックスが付きます。 変更することができます(たとえば、インストール中に)。
- wp_postsテーブルが最も重要です。 これは、ほとんどのデータが保存される場所です。
- 1つのテーブルだけが他のテーブルとは無関係です-wp_optionsテーブル。 投稿やユーザーに関係のないサイトやWordPressの設定に関する情報を保存します。
- 分類データを保存するには、2つのテーブルが使用されます。 これは別の記事になります。
- wp_usersテーブルとwp_commentsテーブルでは、データは関連していません。 WordPressの設定で、登録ユーザーのみがコメントを残すことができるように指定できます。 それにもかかわらず、WordPressはコメントとそれらを投稿したユーザーに関するリンクを保持しません。
- WordPress MUには追加のテーブルがあります。 彼らの検討はこの記事の範囲外です。
コンテンツテーブルとデータベーステーブルをリンクする
WordPressのコンテンツの種類とそれらを保存するために使用されるデータベーステーブルを確認した後、それらの間の通信を描画できます。 以下のリストは、どのデータベーステーブルがどのタイプのコンテンツを格納するために使用されるかを示しています。
コンテンツの種類 | テーブル |
---|---|
投稿 | wp_posts
|
Pages | wp_posts
|
カスタム投稿タイプ | wp_posts
|
添付ファイル | wp_posts
|
リンク集 | wp_links
|
メニュー項目(ナビゲーションメニュー項目) | wp_posts
|
カテゴリー | wp_terms
|
タグ | wp_terms
|
カスタム分類 | wp_term_taxonomy
|
カスタム分類用語 | wp_terms
|
メタデータ(投稿メタデータ) | wp_post_meta
|
ウィジェット | wp_options
|
オプション | wp_options
|
ユーザー | wp_users
|
非標準コンテンツ(ハードコードされたコンテンツ) | wp_posts(投稿に追加された場合)
wp_options(ウィジェットに追加された場合) テーマ/プラグインファイル |
サードパーティのコンテンツ | wp_posts(投稿に追加された場合)
wp_options(ウィジェットに追加された場合) テーマ/プラグインファイル |
リストですべてのテーブルが使用されているわけではないことは簡単にわかります。 これは、それらの一部がメタデータの保存に使用されるためです。 その他はリンクを保存するために使用されます。 両方のオプションは、以降の記事で検討されます。
おわりに
WordPressがさまざまなタイプのデータを保存する方法と場所、データベースの使用方法をよりよく理解していただければ幸いです。 このプロセスの要素については、後続の記事で詳しく説明します。 そのため、次の記事ではデータ間の関係を調べます。 また、特定のテーブルがどのように関連し、それらの一部がリレーションシップに関するデータを格納するために排他的に使用される方法についても詳しく説明します。