Laman web WordPress terdiri daripada tiga elemen utama:
wp-content
, yang termasuk tema, pemalam dan kandungan yang dimuat naikwp-content
目录的内容,其中包括主题、插件和上传内容大多数 WordPress 用户从未直接接触过数据库,甚至可能不知道它正在不断地填充他们的网站。当 WordPress 提供任何类型的页面时,无论是主页、单个帖子或页面还是存档,它都会访问数据库以显示编辑和管理员已添加到网站的内容。
在本系列教程中,我将详细介绍 WordPress 数据库的不同方面。该系列将分为九部分,涵盖以下内容:
在本介绍中,我将概述数据库表以及它们与您可能习惯在 WordPress 中使用的内容类型的关系,并确定存储内容的位置。
由于数据库表是用来存储内容的,因此在理解它们之前,您需要先了解内容。 WordPress 中有多种类型的内容:
这些内容类型会附加数据:
除此之外,还有其他类型的内容以不同的方式存储:
所有这些类型的内容都存储在数据库中的某个位置(或者偶尔存储在主题或插件文件中,正如我将展示的那样)。他们可能有自己的条目,也可能是另一个条目的一部分(例如编码到帖子中的流内容)。它们还可以链接到其他表中的数据。例如,有关帖子的数据将链接到有关用户的数据,以便 WordPress 知道谁创作了哪些帖子。
WordPress 使用一系列数据库表以及它们之间的关系来最大限度地减少必须存储的数据量 - 这会创建一对多关系。这意味着,一个用户可以拥有许多与其用户记录相关的帖子。它节省了空间 - 如果 WordPress 存储每个用户针对其撰写的每篇帖子的所有用户数据,这将意味着大量重复数据和大量空间。
下图取自 WordPress codex,显示了数据库表及其链接方式:
大多数表格通过一个字段链接到一个或多个其他表格。该字段将是每个记录的唯一标识符,例如 post_id
。此表更详细地显示了这一点:
表 | 已存储的数据 | 链接到 | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
wp_posts |
帖子、页面、附件、修订和导航菜单项 |
wp_postmeta (通过 post_id )
|
||||||||||||||||||||||||||||||||||||
wp_postmeta |
每个帖子的元数据 |
wp_posts (通过 post_id ) |
||||||||||||||||||||||||||||||||||||
wp_comments |
评论 |
wp_posts (通过 post_id )
|
||||||||||||||||||||||||||||||||||||
wp_commentmeta |
每条评论的元数据 |
wp_comments (通过 comment_id ) |
||||||||||||||||||||||||||||||||||||
wp_term_relationships |
帖子和分类之间的关系 |
wp_posts (通过 post_id
Pangkalan Data, menyimpan semua kandungan. #🎜🎜#
#🎜🎜#Kebanyakan pengguna WordPress tidak pernah menyentuh pangkalan data secara langsung dan mungkin tidak menyedari bahawa ia sentiasa mengisi laman web mereka. Apabila WordPress menyediakan apa-apa jenis halaman, sama ada halaman utama, satu siaran atau halaman, atau arkib, ia mengakses pangkalan data untuk memaparkan kandungan yang telah ditambahkan oleh editor dan pentadbir pada tapak tersebut. #🎜🎜#
#🎜🎜#Dalam siri tutorial ini, saya akan menerangkan secara terperinci tentang pelbagai aspek pangkalan data WordPress. Siri ini akan dibahagikan kepada sembilan bahagian dan akan merangkumi perkara berikut: #🎜🎜#
#🎜🎜#
#🎜🎜#Pengenalan#🎜🎜#
#🎜🎜#Hubungan antara data#🎜🎜#
#🎜🎜#Jenis Kandungan#🎜🎜#
#🎜🎜#data pengguna#🎜🎜#
#🎜🎜#metadata#🎜🎜#
#🎜🎜#Taksonomi, kategori, tag dan istilah#🎜🎜#
#🎜🎜#Taksonomi dan Metadata Siaran#🎜🎜#
#🎜🎜#Senarai pilihan#🎜🎜#
#🎜🎜#Data Berbilang Laman WordPress#🎜🎜#
#🎜🎜#Dalam pengenalan ini, saya akan memberikan gambaran keseluruhan jadual pangkalan data dan cara ia berkaitan dengan jenis kandungan yang mungkin biasa anda gunakan dalam WordPress, dan mengenal pasti tempat untuk menyimpan kandungan anda. #🎜🎜#
Jenis kandungan dalam WordPress#🎜🎜#Memandangkan jadual pangkalan data digunakan untuk menyimpan kandungan, anda perlu memahami kandungan sebelum memahaminya. Terdapat banyak jenis kandungan dalam WordPress: #🎜🎜#
Struktur pangkalan data WordPress#🎜🎜#WordPress menggunakan satu siri jadual pangkalan data dan perhubungan di antaranya untuk meminimumkan jumlah data yang mesti disimpan - ini mewujudkan perhubungan satu dengan banyak. Ini bermakna pengguna boleh mempunyai banyak siaran yang berkaitan dengan rekod pengguna mereka. Ia menjimatkan ruang - jika WordPress menyimpan semua data pengguna untuk setiap siaran yang ditulis oleh setiap pengguna, ini bermakna banyak data pendua dan banyak ruang. #🎜🎜# #🎜🎜#Imej di bawah diambil daripada codex WordPress dan menunjukkan jadual pangkalan data dan cara ia dipautkan: #🎜🎜# #🎜🎜##🎜🎜## 🎜 🎜#Kebanyakan borang dipautkan kepada satu atau lebih borang lain melalui medan. Medan ini akan menjadi pengecam unik untuk setiap rekod, sepertipost_id . Jadual ini menunjukkan ini dengan lebih terperinci: #🎜🎜#
Jadual |
Data yang disimpan |
Pautan ke |
wp_posts Siaran, halaman, lampiran, semakan dan item menu navigasi |
|
wp_postmeta (melalui post_id )#🎜🎜##🎜🎜#wp_term_relationships (melalui post_id )wp_postmeta Metadata untuk setiap siaran |
|
wp_posts (melalui post_id )wp_comments Ulasan |
|
wp_posts (melalui post_id ) #🎜🎜##🎜🎜#
wp_commentmeta Metadata untuk setiap ulasan |
|
wp_comments (melalui comment_id )wp_term_relationships Hubungan antara siaran dan kategori |
|
wp_posts (melalui post_id ) #🎜🎜#
wp_term_taxonomy 分类法(包括类别和标签) |
|
wp_term_relationships (通过 term_taxonomy_id )wp_terms 您的类别和标签以及分配给自定义分类法的术语 |
|
wp_term_taxonomy (通过 term_id )wp_links 您博客中的链接(如果您还有的话) |
|
wp_term_relationships (通过 link_id )wp_users 用户 |
|
wp_posts (通过 post_author )wp_user_meta 每个用户的元数据 |
|
wp_users (通过 user_id )wp_options 站点设置和选项(通过“设置”屏幕以及通过插件和主题设置) |
不适用 |
|
有几点值得注意:
wp_
前缀。您可以在配置网站时更改此设置,但没有太大价值。wp_posts
表,其中将存储大部分数据。这将(几乎)其他所有内容结合在一起。wp_options
表。此表存储有关网站和 WordPress 安装的数据,这些数据与有关帖子或用户的数据无关。wp_users
和 wp_comments
表没有链接 - 尽管可以指定用户必须注册才能发表评论,但 WordPress 实际上并不存储有关评论的数据针对每个发布它们的用户。 查看了 WordPress 中的内容类型以及用于存储它们的数据库表后,将两者进行匹配可能会有所帮助。下表显示了使用哪个数据库表来存储每种类型的内容。
内容类型 | 表 |
---|---|
帖子 | wp_posts |
页面 |
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_posts (如果添加到帖子中)
wp_term_taxonomy
| Taksonomi (termasuk kategori dan tag)
wp_terms
| Kategori dan teg dan terma anda yang diberikan kepada taksonomi tersuai anda
wp_links
#🎜🎜#
#🎜🎜#Pautan dalam blog anda (jika masih ada)#🎜🎜#
#🎜🎜#
wp_term_relationships
(melalui link_id
) #🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#wp_users
#🎜🎜#
#🎜🎜#pengguna#🎜🎜#
#🎜🎜#
wp_posts
(melalui post_author
) #🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#wp_user_meta
#🎜🎜#
#🎜🎜#Metadata untuk setiap pengguna#🎜🎜#
#🎜🎜#
wp_users
(melalui user_id
) #🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#wp_options
#🎜🎜#
#🎜🎜# Tetapan dan pilihan tapak (melalui skrin Tetapan dan melalui pemalam dan tetapan tema) #🎜🎜#
#🎜🎜#Tidak berkenaan#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#Ada beberapa perkara yang perlu diberi perhatian: #🎜🎜#
wp_
. Anda boleh menukar tetapan ini semasa mengkonfigurasi tapak anda, tetapi ia tidak begitu bernilai. wp_posts
di mana kebanyakan data akan disimpan. Ini mengikat (hampir) segala-galanya bersama-sama. wp_options
. Jadual ini menyimpan data tentang tapak web dan pemasangan WordPress yang bebas daripada data tentang siaran atau pengguna. wp_users
dan wp_comments
tidak dipautkan - walaupun adalah mungkin untuk menentukan bahawa pengguna mesti berdaftar untuk menyiarkan ulasan , WordPress sebenarnya tidak Menyimpan data tentang ulasan untuk setiap pengguna yang menyiarkannya. wp_posts
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#halaman#🎜🎜#
#🎜🎜#
wp_posts
#🎜🎜##🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#Jenis pos tersuai#🎜🎜#
#🎜🎜#
wp_posts
#🎜🎜##🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#lampiran#🎜🎜#
#🎜🎜#
wp_posts
#🎜🎜##🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#Pautan#🎜🎜#
#🎜🎜#
wp_links
#🎜🎜##🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#Item menu navigasi#🎜🎜#
#🎜🎜#
wp_posts
#🎜🎜##🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#kategori#🎜🎜#
#🎜🎜#wp_terms
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#tag#🎜🎜#
#🎜🎜#
wp_terms
#🎜🎜##🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#Taksonomi tersuai#🎜🎜#
#🎜🎜#wp_term_taxonomy
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#Syarat klasifikasi#🎜🎜#
#🎜🎜#wp_terms
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#Siaran metadata#🎜🎜#
#🎜🎜#wp_post_meta
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#Widget#🎜🎜#
#🎜🎜#wp_options
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#Pilihan#🎜🎜#
#🎜🎜#wp_options
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#pengguna#🎜🎜#
#🎜🎜#wp_users
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#hardcodedcontent#🎜🎜#
#🎜🎜#
wp_posts
(jika ditambahkan pada siaran) #🎜🎜##🎜🎜#wp_options
(jika ditambahkan pada widget) #🎜🎜 # #🎜🎜#Tema dan fail pemalam (jika berkod keras) #🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#Kandungan Pihak Ketiga#🎜🎜#
#🎜🎜#
wp_posts
(jika ditambah pada siaran) #🎜🎜##🎜🎜#wp_options
(jika ditambah melalui widget atau pemalam) #🎜 🎜##🎜🎜#Tema dan fail pemalam (jika berkod keras) #🎜🎜##🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜##🎜🎜#
#🎜🎜##🎜🎜##🎜🎜##🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#Anda mungkin perasan bahawa tidak semua jadual pangkalan data disertakan dalam jadual ini. Ini kerana sesetengah daripada mereka digunakan untuk menyimpan metadata dan yang lain digunakan untuk menyimpan perhubungan, yang kedua-duanya akan dibincangkan dengan lebih terperinci kemudian dalam siri ini.
Semoga anda kini mempunyai pemahaman yang lebih baik tentang cara dan tempat WordPress menggunakan struktur pangkalan data untuk menyimpan pelbagai jenis data. Siri ini akan meneroka semua aspek isu ini dengan lebih terperinci.
Dalam bahagian seterusnya, saya akan meneliti perhubungan antara data dan melihat dengan lebih terperinci cara jadual tertentu dipautkan dan cara sesetengah jadual digunakan semata-mata untuk menyimpan data tentang perhubungan.
Atas ialah kandungan terperinci Menguasai Pengurusan Data dalam WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!