欢迎光临
我们一直在努力

理解和利用 WordPress 中的数据(介绍)

建站超值云服务器,限时71元/月

本文目录
[隐藏]

  • 1WordPress 中的内容类型
  • 2WordPress 的数据库结构
  • 3
  • 4

本文是《理解和利用 WordPress 中的数据》系列教程的第 1 部分,该系列共包含以下 9 个部分:

  1. 理解和利用 WordPress 中的数据(介绍)
  2. 理解和利用 WordPress 中的数据关系
  3. 理解和利用 WordPress 中的内容类型
  4. 理解和利用 WordPress 中的用户数据
  5. 理解和利用 WordPress 中的posts表
  6. 理解和利用 WordPress 中的元数据(Metadata)
  7. 理解和利用 WordPress 中的分类法(Taxonomies)和分类项(Terms)
  8. 理解和利用 WordPress 中的选项表
  9. 理解和利用 WordPress 中的数据 – 多站点

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

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

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

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

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

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

WordPress 中的内容类型

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

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

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

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

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

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

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

WordPress 的数据库结构

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

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

理解和利用 WordPress 中的数据(介绍)

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

Table Data stored Linked to
wp_posts 文章,页面,附件,版本和菜单导航项 wp_postmeta (via post_id)
wp_term_relationships(via post_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 (via term_taxonomy_id)
wp_term_taxonomy 分类法(包括分类和标签) wp_term_relationships (via term_taxonomy_id)
wp_terms 你的分类、标签和分配到自定义分类法的分类项目 wp_term_taxonomy (via term_id)
wp_links 博客中的链接 wp_term_relationships (via link_id)
wp_users 用户 wp_posts (via post_author)
wp_user_meta 每个用户的元数据 wp_users (via user_id)
wp_options 站点的设置选项(通过设置界面、主题和插件添加的) n/a

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

  • 数据库表默认使用 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 中的数据关系

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 理解和利用 WordPress 中的数据(介绍)
分享到: 更多 (0)