WordPressのデータベース構造とカスタマイズのための知識

※当サイトにはプロモーションが含まれています。

最近、ワードプレステーマ(WordPress)をカスタマイズして作成したいと思うようになり、ワードプレスを勉強し直しています。

今まで、ワードプレスのデータベースは触ることがなかった為、改めて学んだことも多くありました。

その為、今回学習した内容を備忘録として残しておきます。

WordPressデータベースのデフォルトテーブル構造

WordPressがデフォルトで作成する主要なデータベーステーブルの一覧をまとめてみました。

テーブル名 用途
wp_posts 投稿、ページ、添付ファイルのデータを保存。投稿タイプや投稿ステータスも含まれる。
wp_postmeta 投稿に関する追加のメタ情報(カスタムフィールド)を保存。
wp_comments 投稿へのコメントを保存。
wp_commentmeta コメントに関する追加のメタ情報を保存。
wp_terms カテゴリ、タグなどのタクソノミー用のデータを保存。
wp_termmeta タームに関する追加のメタ情報を保存。
wp_term_taxonomy 各タームがどのタクソノミーに属するかの情報を保存。
wp_term_relationships 投稿とタームの関連情報を保存。
wp_users サイトユーザーの情報を保存。
wp_usermeta ユーザーに関する追加のメタ情報を保存。
wp_options サイト全体のオプション設定(一般設定やテーマ設定など)を保存。

これらのテーブルは、WordPressがサイトのコンテンツ、ユーザー、設定などのさまざまな情報を管理するために使用します。

各テーブルのカスタマイズ方法とPHP関数

各テーブルのカスタマイズ方法とPHP関数についてまとめました。

(1)wp_postsテーブルとwp_postmetaテーブル

投稿データ(記事、ページ、カスタム投稿タイプ)およびカスタムフィールドを管理。

  • get_posts():指定した条件で投稿を取得。
  • wp_insert_post():新しい投稿をデータベースに追加。
  • update_post_meta()get_post_meta():カスタムフィールドの追加、取得、更新。

カスタム投稿タイプやメタデータを活用し、特定のデータ構造を実現できます。

例えば、カスタム投稿タイプを定義し、カスタムフィールドで独自の投稿情報を追加可能です。

(2)wp_commentsテーブルとwp_commentmetaテーブル

各投稿へのコメントとそのメタ情報を管理。

  • get_comments():コメントの取得。
  • wp_insert_comment():新しいコメントの追加。
  • update_comment_meta()get_comment_meta():コメントメタ情報の管理。

カスタムフィールドを利用して、特定のコメントにメタ情報を追加することが可能です。

たとえば、特定のコメントに評価情報やユーザーのリクエスト内容を付加できます。

(3)wp_terms、wp_termmeta、wp_term_taxonomyテーブル

カテゴリやタグなどのタクソノミー情報を管理。

  • wp_insert_term():新しいタームを追加。
  • wp_get_object_terms():オブジェクト(投稿など)に関連するタームを取得。
  • update_term_meta()get_term_meta():タームメタ情報の管理。

カスタムタクソノミーを追加して投稿分類を多様化できます。

例えば、「イベント」や「商品」などのカスタムタクソノミーを作成することで、柔軟な分類が可能になります。

(4)wp_usersテーブルとwp_usermetaテーブル

WordPressサイトのユーザー情報とそのメタ情報を管理。

  • wp_create_user():新しいユーザーの作成。
  • get_userdata()get_user_meta():ユーザー情報の取得。

ユーザーごとに異なるカスタムメタ情報を付加し、特定の役割や権限に基づくカスタマイズを行えます。

(5)wp_optionsテーブル

サイト全体のオプション(一般設定、テーマ設定、プラグイン設定など)を管理。

  • get_option():オプション値の取得。
  • update_option():オプション値の更新。

独自のオプション値を追加して、テーマやプラグインの設定をカスタマイズすることが可能です。

例えば、my_custom_settingといったキーで独自の設定値を保存できます。

以上、ワードプレス(WordPress)のデータベース構造についての備忘録でした。

最近、よく使用している書籍です。