理解WordPress中的数据表和存储数据

一个WordPress站点至少包含如下三个主要元素:

  • WordPress本身
  • wp-content目录的内容,包括:主题(themes)、插件(plugins)和上传目录(uploads)
  • 数据库,所有的内容都会保存在这里

大多数WordPress用户从来没有直接查看过数据库,甚至都从来不知道它的存在。当WordPress提供任何页面时,可能是首页,一篇文章或者是归档,它都会去访问数据库并获取作者和管理员添加到站点的内容。

在这个系列的教程中我将会从不同角度对WordPress的数据库进行讲解。这个系列包含如下九个部分:

  • 介绍
  • 数据之间的关系
  • 内容类型
  • 用户数据
  • 元(Meta)数据
  • 自定义分类法(Taxonomies),分类,标签和分类项目(terms)
  • 自定义分类法与文章元数据对比
  • 选项设置表
  • WordPress 多站点数据

在介绍篇,我将会给出一个概览,关于数据库表以及内容类型的关联——你可能在WordPress开发中用到,是如何存储的。

WordPress 中的内容类型

为了理解具体内容,你需要先了解它们在数据库中是如何存储的。在WordPress中有很多内容:

  • 文章
  • 页面
  • 自定义文章类型
  • 附件
  • 链接
  • 导航菜单项 (作为单独的文章被保存)

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

  • 分类
  • 标签
  • 自定义分类法和分类项目
  • 文章元数据

此外,还有其他类型的内容是作为不同的方式来存储的:

  • 小工具
  • 选项
  • 用户
  • 站点(多站点才有)
  • 硬编码内容(主题或插件中)
  • 来自其他地方的内容(通过反馈、流或者其他技术的第三方内容)

所有的这些内容都保存在数据库中的某个地方(或者在主题或者插件中,关于这点我将会展示)。它们可能是一条记录或者是其他的一部分(例如被编码到文章中的流式内容)。它们也可能是被其他表所引用的数据。例如,有关用户的数据会被关联到文章中,这样WordPress就会知道是谁编写的。

WordPress 的数据库结构

WordPress使用一些数据库表来存储它们之间的关系——采用一对多的关系。这意味着,一个用户可以有很多文章,而且都会关联到他们的记录中。这样可以节省空间——如果WordPress为每个用户都保存一份数据而不是每篇文章,就会需要很多数据而且占用很多空间。

下面的图选自 WordPress codex,它展示了数据库表以及它们之间的关系:

大多数表都是通过一个子段来关联到其他的一个或者多个表。这些子段都是每一条记录的唯一标示,例如:post_id。更详细的内容请看下表:

TABLE

DATA STORED

LINKED TO

wp_posts

文章,页面,附件,版本和菜单导航项

wp_postmeta (via post_id)
wp_term_relationships(viapost_id)

wp_postmeta

每篇文章的元数据

wp_posts (via post_id)

wp_comments

评论

wp_posts (via post_id)

wp_commentmeta

评论的元数据

wp_comments (via comment_id)

wp_term_relationships

文章和分类法的关系

wp_posts (via post_id)
wp_term_taxonomy (viaterm_taxonomy_id)

wp_term_taxonomy

分类法(包括分类和标签)

wp_term_relationships (viaterm_taxonomy_id)

wp_terms

你的分类、标签和分配到自定义分类法的分类项目

wp_term_taxonomy (via term_id)

wp_links

博客中的链接

wp_term_relationships (vialink_id)

wp_users

用户

wp_posts (via post_author)

wp_user_meta

每个用户的元数据

wp_users (via user_id)

wp_options

站点的设置选项(通过设置界面、主题和插件添加的)

 

 

还有一些需要注意的事情:

  • 数据库表默认使用 wp_ 前缀。你可以通过配置你的站点来改变,但这么做没有什么意义。
  • wp_posts 是核心表,你的大多数数据都在这里保存。它几乎把所有的内容的组织在一起。
  • 只有一个表是和其他表没有关系的—— wp_options。这个表保存着站点和 WordPress 安装信息,这些内容没有和文章或者用户有关联。
  • 有两个表是存储有关分类方法的——这一点将会在该系列后续的文章中解释。
  • wp_users 和wp_comments表是没有关联的——尽管用户可能会需要注册才能发表评,WordPress 没有真正地保存关于每个用户的评论以及谁发布的。
  • 一个多站点安装将会有一些扩展表。这里没有包含这些内容,因为已经超出了这个系列的内容。

内容和数据库表的关系

已经看过了WordPress中的内容类型和存储它们的数据库表,这个有助于我们把它们关联起来。下面的表展示了每个表存储的内容类型。

 

CONTENT TYPE

TABLE(S)

文章

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 (如果是小工具或插件添加的)
主题和插件文件(如果是硬编码)

  

 

你可能已经注意到了不是所有的数据库表都包含在了上面。那是因为它们是用来保存元数据和其他用来保存关系的,这些内容将会在该系列的后续内容中讲到。

WordPress 数据字典是一种用来存储和管理WordPress网站各种数据的结构化文件。它提供了一个详细的描述,包括表名、字段名、数据类型、长度、默认值等信息,以帮助用户了解和使用数据库存储数据WordPress 数据字典的主要作用是帮助开发人员、设计师和管理员理解和维护WordPress网站的数据库结构。通过查阅数据字典,他们可以获得关于某个表或字段的具体信息,包括它被用于什么目的,如何与其他表或字段关联,以及如何在自己的代码使用这些数据数据字典还可以帮助团队成员之间更好地沟通和协作。开发人员可以参考数据字典来了解其他成员创建和维护的内容,确保他们在开发过程遵循相同的数据结构和规范。此外,设计师可以通过数据字典了解表和字段的用途,以更好地为网站设计和布局提供支持。 另外,数据字典还可以帮助管理员更好地管理和维护数据库。他们可以通过数据字典了解表和字段的相关信息,包括它们的约束条件、索引、大小等,以便对数据库进行性能优化和调整。 综上所述,WordPress 数据字典对于理解和管理WordPress网站的数据库是非常有价值的。它不仅可以帮助开发人员和设计师更好地理解和使用数据库数据,还可以促进团队成员之间的协作和沟通,提高网站的开发和维护效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值