Rumah  >  Artikel  >  Tutorial CMS  >  Menguasai Pengurusan Data dalam WordPress

Menguasai Pengurusan Data dalam WordPress

PHPz
PHPzasal
2023-08-31 23:21:101476semak imbas

Laman web WordPress terdiri daripada tiga elemen utama:

  1. Pemasangan WordPress itu sendiri
  2. Kandungan direktori wp-content, yang termasuk tema, pemalam dan kandungan yang dimuat naikwp-content 目录的内容,其中包括主题、插件和上传内容
  3. 数据库,存储所有内容。

大多数 WordPress 用户从未直接接触过数据库,甚至可能不知道它正在不断地填充他们的网站。当 WordPress 提供任何类型的页面时,无论是主页、单个帖子或页面还是存档,它都会访问数据库以显示编辑和管理员已添加到网站的内容。

在本系列教程中,我将详细介绍 WordPress 数据库的不同方面。该系列将分为九部分,涵盖以下内容:

  1. 简介
  2. 数据之间的关系
  3. 内容类型
  4. 用户数据
  5. 元数据
  6. 分类法、类别、标签和术语
  7. 分类法与帖子元数据
  8. 选项表
  9. WordPress 多站点数据

在本介绍中,我将概述数据库表以及它们与您可能习惯在 WordPress 中使用的内容类型的关系,并确定存储内容的位置。

WordPress 中的内容类型

由于数据库表是用来存储内容的,因此在理解它们之前,您需要先了解内容。 WordPress 中有多种类型的内容:

  • 帖子
  • 页面
  • 自定义帖子类型
  • 附件
  • 链接
  • 导航菜单项(存储为单独的帖子)

这些内容类型会附加数据:

  • 类别
  • 标签
  • 自定义分类法和术语
  • 发布元数据

除此之外,还有其他类型的内容以不同的方式存储:

  • 小部件
  • 选项
  • 用户
  • 站点(用于多站点安装)
  • 硬编码内容(添加到您的主题或插件中)
  • 来自其他地方的内容(通过 Feed、流媒体或其他技术访问的第三方内容)

所有这些类型的内容都存储在数据库中的某个位置(或者偶尔存储在主题或插件文件中,正如我将展示的那样)。他们可能有自己的条目,也可能是另一个条目的一部分(例如编码到帖子中的流内容)。它们还可以链接到其他表中的数据。例如,有关帖子的数据将链接到有关用户的数据,以便 WordPress 知道谁创作了哪些帖子。

WordPress 数据库结构

WordPress 使用一系列数据库表以及它们之间的关系来最大限度地减少必须存储的数据量 - 这会创建一对多关系。这意味着,一个用户可以拥有许多与其用户记录相关的帖子。它节省了空间 - 如果 WordPress 存储每个用户针对其撰写的每篇帖子的所有用户数据,这将意味着大量重复数据和大量空间。

下图取自 WordPress codex,显示了数据库表及其链接方式:

掌握 WordPress 中的数据管理

大多数表格通过一个字段链接到一个或多个其他表格。该字段将是每个记录的唯一标识符,例如 post_id。此表更详细地显示了这一点:

已存储的数据 链接到
wp_posts 帖子、页面、附件、修订和导航菜单项 wp_postmeta(通过 post_id

wp_term_relationships(通过 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: #🎜🎜#
    #🎜🎜#Siaran#🎜🎜# #🎜🎜#halaman#🎜🎜# #🎜🎜#Jenis pos tersuai#🎜🎜# #🎜🎜#lampiran#🎜🎜# #🎜🎜#Pautan#🎜🎜# #🎜🎜#Item menu navigasi (disimpan sebagai catatan berasingan) #🎜🎜#
#🎜🎜#Jenis kandungan ini mempunyai data yang dilampirkan: #🎜🎜#
    #🎜🎜#kategori#🎜🎜# #🎜🎜#tag#🎜🎜# #🎜🎜#Taksonomi dan istilah tersuai#🎜🎜# #🎜🎜#Siaran metadata#🎜🎜#
#🎜🎜# Di samping itu, terdapat jenis kandungan lain yang disimpan dalam cara yang berbeza: #🎜🎜#
    #🎜🎜#Widget#🎜🎜# #🎜🎜#Pilihan#🎜🎜# #🎜🎜#pengguna#🎜🎜# #🎜🎜#Tapak (untuk pemasangan berbilang tapak) #🎜🎜# #🎜🎜#Kandungan berkod keras (ditambah pada tema atau pemalam anda) #🎜🎜# #🎜🎜#Kandungan dari tempat lain (kandungan pihak ketiga diakses melalui suapan, penstriman atau teknologi lain) #🎜🎜#
#🎜🎜#Semua jenis kandungan ini disimpan di suatu tempat dalam pangkalan data (atau kadangkala dalam tema atau fail pemalam, seperti yang akan saya tunjukkan kepada anda). Mereka mungkin mempunyai entri mereka sendiri, atau mereka mungkin menjadi sebahagian daripada entri lain (seperti kandungan penstriman yang dikodkan ke dalam siaran). Ia juga boleh dipautkan kepada data dalam jadual lain. Sebagai contoh, data tentang siaran akan dipautkan kepada data tentang pengguna supaya WordPress mengetahui siapa yang mengarang siaran. #🎜🎜#

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: #🎜🎜# #🎜🎜#Master pengurusan data dalam WordPress#🎜🎜## 🎜 🎜#Kebanyakan borang dipautkan kepada satu atau lebih borang lain melalui medan. Medan ini akan menjadi pengecam unik untuk setiap rekod, seperti post_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 (melalui term_taxonomy_id)wp_term_taxonomy (via term_taxonomy_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_userswp_comments 表没有链接 - 尽管可以指定用户必须注册才能发表评论,但 WordPress 实际上并不存储有关评论的数据针对每个发布它们的用户。
  • 多站点安装将有一些额外的表。我没有在此处包含这些内容,因为这超出了本教程的范围。

将内容链接到数据库表

查看了 WordPress 中的内容类型以及用于存储它们的数据库表后,将两者进行匹配可能会有所帮助。下表显示了使用哪个数据库表来存储每种类型的内容。

Taksonomi (termasuk kategori dan tag)wp_term_relationships (melalui term_taxonomy_id) Kategori dan teg dan terma anda yang diberikan kepada taksonomi tersuai anda wp_term_taxonomy (melalui term_id)
内容类型
帖子 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_options(如果添加到小部件)

主题和插件文件(如果硬编码)

第三方内容 wp_posts(如果添加到帖子中)

wp_options

wp_term_taxonomy

wp_terms

#🎜🎜# #🎜🎜# #🎜🎜#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: #🎜🎜#
  • Secara lalai, jadual pangkalan data mempunyai awalan wp_. Anda boleh menukar tetapan ini semasa mengkonfigurasi tapak anda, tetapi ia tidak begitu bernilai.
  • Jadual teras ialah jadual wp_posts di mana kebanyakan data akan disimpan. Ini mengikat (hampir) segala-galanya bersama-sama.
  • Hanya terdapat satu jadual yang tidak dilampirkan pada mana-mana jadual lain - jadual wp_options. Jadual ini menyimpan data tentang tapak web dan pemasangan WordPress yang bebas daripada data tentang siaran atau pengguna.
  • Dua jadual digunakan untuk menyimpan data tentang taksonomi - ini akan diterangkan dengan lebih terperinci kemudian dalam siri ini.
  • Jadual
  • 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.
  • Pemasangan berbilang tapak akan mempunyai beberapa jadual tambahan. Saya tidak memasukkan ini di sini kerana ia di luar skop tutorial ini.

Pautkan kandungan ke jadual pangkalan data

#🎜🎜#Selepas melihat jenis kandungan dalam WordPress dan jadual pangkalan data yang digunakan untuk menyimpannya, mungkin berguna untuk memadankan kedua-duanya. Jadual berikut menunjukkan jadual pangkalan data yang digunakan untuk menyimpan setiap jenis kandungan. #🎜🎜# #🎜🎜# Jenis kandungan Jadual #🎜🎜# #🎜🎜# #🎜🎜#Siaran#🎜🎜# #🎜🎜#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.

Ringkasan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn