WordPressのusersテーブルを解説

 ·  ☕ 7 

ハローハロー! ハロウィンの予定はない! veilnuiです。

今回もWordPressのデータベースについてのまとめです。
今回は第11回目。最後のデータベーステーブル「users」テーブルについて書いていきます。

  1. commentmeta
  2. comments
  3. links
  4. options
  5. postmeta
  6. posts
  7. terms
  8. term_relationships
  9. term_taxonomy
  10. user_meta
  11. users

テーブル概要

登録ユーザ情報を格納

https://wpdocs.osdn.jp/データベース構造

ユーザーを管理するテーブルです。
あと、マルチサイト機能を有効化してる人は、次の点も注意を。

すべての ユーザー は、テーブル wp_users で管理される。スタンドアローン版 に対して、マルチサイト版は2つのフィールドを追加する。

https://https://wpdocs.osdn.jp/データベース構造

どういうことか? 説明しよう。

WordPressの「マルチサイト機能」を有効化したとき、この様にテーブルを使います。

  1. すべてのユーザーをこのテーブル1つで管理します。サイト毎にテーブルを作りません
  2. 「spam」「deleted」の2つの値をテーブルに追加します。

このテーブル一つだけで、すべてのサイトのすべてのユーザーを管理するのです

依存しているテーブル、カラム

  • 他のテーブルに依存していません。

依存されているテーブル、カラム

  • postsテーブル post_authorカラム
  • usermetaテーブル user_idカラム
  • commentテーブル user_idカラム
  • linksテーブル link_ownerカラム

カラム構成

<td>
  ユーザーID
</td>

<td>
  bigint(20) unsigned
</td>
<td>
  ログイン名
</td>

<td>
  varchar(60)
</td>
<td>
  パスワード
</td>

<td>
  varchar(64)
</td>
<td>
  ニックネーム
</td>

<td>
  varchar(50)
</td>
<td>
  メールアドレス
</td>

<td>
  varchar(100)
</td>
<td>
  ウェブサイトURL
</td>

<td>
  varchar(100)
</td>
<td>
  登録日時
</td>

<td>
  datatime
</td>
<td>
  アクティベーションキー
</td>

<td>
  varchar(60)
</td>
<td>
  ユーザーの権限
</td>

<td>
  int(11)
</td>
<td>
  表示名
</td>

<td>
  varchar(250)
</td>
<td>
  スパム
</td>

<td>
  tinyint(2)
</td>
<td>
  削除済み
</td>

<td>
  tinyint(2)
</td>
ID
user_login
user_pass
user_nicename
user_email
user_url
user_registered
user_activation_key
user_status
display_name
spam
deleted

「spamカラム」と「deleteカラム」はマルチサイト機能を有効化したときのみカラムが追加されます。

ID

<td>
  bigint(20) unsigned
</td>
<td>
</td>
<td>
  AUTO_INCREMENT
</td>
データ型
デフォルト値
備考

ユーザーIDです。

このテーブルに登録された各コンテンツを区別するカラムです。
それぞれのフィールドは「0以上の重複しない数字」がIDとして割り当てられます。

WordPressでは、このカラムを編集できません
phpMyAdminなどでデータベースにアクセスすることで、このカラムを編集できます

データベースに新たなレコードを追加するとき、または既存のフィールドを変更するときは、次のルールに従ってください。赤文字は絶対条件です

  1. 他のレコードと値が被らないこと
  2. 0の数字がIDとして割り当てられないこと(1以上のIDを割り当てること)
  3. オートインクリメント機能により「現在のレコード数+1」の値に設定すること
  4. このカラムに依存する他のテーブルも確認すること

データベースを編集するときは、IDが被らないように注意してください
IDが被ると、エラーが表示されてフィールドを編集することができません。

また、WordPressでは、IDが0のレコードをNULLとして使用します
そのため、IDが0のレコードは作成しないように注意してください。

WordPressでは、このカラムに依存しているテーブルがあります
こののカラムを編集したとき、次のテーブルとカラムも確認してください。

依存されているテーブル、カラム

  • postsテーブル post_authorカラム
  • usermetaテーブル user_idカラム
  • commentテーブル user_idカラム
  • linksテーブル link_ownerカラム

user_login

<td>
  varchar(60)
</td>
<td>
</td>
データ型
デフォルト値

ログイン時に入力する名前です。
ユーザー作成時に決めた半角英数字の文字列です。

WordPressではユーザー作成後の変更できません
phpMyAdminなどでデータベースにアクセスすることで、変更できます
なお、WordPressはユーザーを「ID」で管理しています。こちらのカラムに依存関係はありません

user_pass

<td>
  varchar(255)
</td>
<td>
</td>
データ型
デフォルト値

ログイン時に入力するパスワードです。暗号化されています。

user_nicename

<td>
  varchar(50)
</td>
<td>
</td>
データ型
デフォルト値

ユーザーのニックネームです。このカラムは省略できます

user_email

<td>
  varchar(100)
</td>
<td>
</td>
データ型
デフォルト値

ユーザーのメールアドレスです。「address@domain.xxx」のフォーマットで保存します。

user_url

<td>
  varchar(100)
</td>
<td>
</td>
データ型
デフォルト値

ユーザーのウェブサイトURLです。このカラムは省略できます

約100文字までのURLを保存できます
ただし、日本語などのマルチバイト文字は保存できる文字数が少なくなります。
また、日本語は「Punycode」に自動エンコードされます。

user_registered

<td>
  datatime
</td>
<td>
  0000-00-00 00:00:00
</td>
データ型
デフォルト値

ユーザーを作成した日時です。

user_activation_key

<td>
  varchar(255)
</td>
<td>
</td>
データ型
デフォルト値

このカラムは良く分かりません。
名前から意味を察すると「ユーザーのアクティベーションキー」になります。

アクティベーション: activation、プロダクトアクティベーションとも)は、一部のソフトウェアインストールした後、正規のライセンスを保存していることを確認するために行われる認証処理で、非合法に入手したソフトウェアやライセンス契約に反する使用(Warezやカジュアルコピー、2台以上のPCにインストールなど)を防止するために導入された。

https://ja.wikipedia.org/wiki/アクティベーション

ユーザーのアクティベーションキーって何でしょうか?
多重ログイン防止とかかな?
知っている人、いたら教えて下さい。

user_status

<td>
  int(11)
</td>
<td>
</td>
データ型
デフォルト値

ユーザーの権限です。詳細はこちらから。

https://veilnui.net/user-authority-of-wordpress

<td>
  特権管理者
</td>
<td>
  管理者
</td>
<td>
  編集者
</td>
<td>
  投稿者
</td>
<td>
  寄稿者
</td>
<td>
  購読者
</td>
8~10
8~10
5~7
2~4
1

特権管理者

WordPressの中で最も強い権限を持つユーザーです。
最も強い権限を持つため、WordPressのすべての機能を制御できます。
WordPressを使う上で最低でも1人以上必要です
ユーザーが1人しかいない場合は、そのユーザーが「特権管理者」としての権限を持ちます。

管理者

シングルサイトの場合は、特権管理者と同じ権限を持ちます。

マルチサイトの場合は、サイトの新規作成や削除ができません。
所有するサイトに関しては、特権管理者と同じ権限を持ちます。

編集者

コンテンツの作成、削除。カテゴリーの作成、削除などができます。
だたし、WordPressの設定は変更できません。

投稿者

コンテンツの作成、削除、公開だけができます。

寄稿者

コンテンツの作成ができます。
ただし、公開するには投稿者以上の権限を持つユーザーの許可が必要です。

購読者

ユーザー作成時のデフォルト値です。
コンテンツの閲覧だけができます。非登録ユーザーと変わりない権限です。

display_name

<td>
  varchar(250)
</td>
<td>
</td>
データ型
デフォルト値

WordPressで表示する名前です。
自分の「user_loginフィールド」または「user_nicenameフィールド」のどちらかを選べます。
「user_nicenameフィールド」が空の場合は、「user_loginフィールド」が使われます。

spam

<td>
  tinyint(2)
</td>
<td>
</td>
データ型
デフォルト値

マルチサイト機能を有効化したときのみ作られます。
カラム名から察すると「スパム」「迷惑」とかの意味になります。
ユーザーの「スパム」って何のことでしょうか? 知っている人、いたら教えて下さい。

deleted

<td>
  tinyint(2)
</td>
<td>
</td>
データ型
デフォルト値

マルチサイト機能を有効化したときのみ作られます。
カラム名から察すると「削除済み」という意味になります。
ユーザーの「削除済み」とは何のことでしょうか? 知っている人、いたら教えて下さい。

参考サイト

http://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  


veilnui
veilnui