文本是《理解和利用 WordPress 中的数据(共9篇)》专题的第 3 篇。阅读本文前,建议先阅读前面的文章:
在该系列的前两部分中,我介绍了WordPress的数据库及其结构,并且展示了不同类型数据之间的关系以及是如何进行管理的。
现在,我将会介绍内容类型的细节并描述WordPress中不同内容类型及其它们之间是如何交互的。
当我们考虑WordPress中的内容时,通常会想到文章和页面。但实际上并没有这么简单。WordPress有很多内容类型,文章和页面只是其中的两个例子。
理解内容类型,以及它们的存储和它们之间的交互将会有助于提高你对WordPress的掌握以及在你的主题和插件中写出高级的查询语句。
让我们一起看一下吧!
WordPress 中的主要内容类型
有以下四种:
- 文章
- 评论
- 用户
- 链接
大多数行为都是很简单的,一起看看吧。
文章
文章是WordPress中最重要的内容类型。这个术语可能会让你感到困惑,文章是描述wp_posts这个表中的所有内容但是也是用来描述一个特定的文章类型。
'post_type' => 'post'
WordPress有五个内建文章类型,包括如下:
- 文章
- 页面
- 附件
- 修订版本(revision )
- 导航菜单项
正如我在这个系列中之前的教程中解释的一样,包括数据之间的关系,文章之间能够相互关联。这个通常用在哪个文章或者页面中添加了附件,哪个页面是另一个页面的父页面。
前三种文章类型对于 WordPress开发者来说很熟悉,但后面的两种也属于文章。文章的每个版本也都保存在 wp_posts表中并通过它的父来关联(post_parent 字段),导航菜单项作为文章来保存并是通过一个查询语句来显示的。这就是为什么当你错误使用pre_get_posts() 过滤器时会有导航菜单突然出现。
如果你的站点需要的话可以通过 custom_post_types 来添加自定义文章类型。附加的文章类型的行为和文章,页面或者附件是一样的,这都取决于你在注册文章类型时是如何设置的。
下面的图表展示了wp_posts和其他表之间的关联关系:
评论
评论是保存在它自己的数据库表 wp_comments 中。它的原理相对文章来说比较简单,每条评论都可以通过 wp_commentmeta 表来附加元数据,但是不同的内容是在不同的字段中。
评论和文章是一对多的关系连接的,而且每条评论都可以通过 comment_parent 字段实现自连接——这是为了能标示出某条评论是对另外一条评论的回复。如果是已经登录的用户发表的评论,还可以和用户表 wp_users 关联。
下图展示了评论表 wp_comments 和它的关系:
用户
用户也有自己的表 wp_users,而且也有保存元数据的表 wp_usermeta。乍一看用户似乎和文章是非常不同的内容类型,但是它们之间相似的地方要比你想象的多——它们可以被查询和显示到一个用户的归档中,而它们保存了对用户的结构性数据。由于它的内容和文章,链接以及评论是非常不同的,所有它需要有自己的数据库表。
下图展示了用户表wp_users和它的关系:
在该系列的后续部分,你将会学到更多有关用户以及它是如何与其他表进行关联的。
链接
最后一部分内容是链接。它已经被 WordPress所淘汰,从 3.5 版本开始就变为默认不可用的。
链接的工作原理相对文章来说要简单,它们有自己的内容而且还可以分类。然而,它又是和文章不同的,它们之间有很多不同的字段,用来保存链接的目标(target),描述等等。它并没有和用户挂钩,所以也不能分配到一个用户上,它们也有没有字段用于标示到文章上——但是你可以在归档页面中通过分类来包括它们。
表 wp_links 和它与其他表的关系展示在下面:
元数据中需要注意的
上面介绍到的四种类型,有三个是可分配元数据的:
- 文章
- 评论
- 用户
我将会在该系列的后续部分详细介绍元数据是如何保存的。
总结
我们已经探索过,WordPress有很多的内容类型来保存数据以及它们之间的关系是如何的。保存在数据库中的内容类型不仅限于文章以及页面,还可以包括你自定义的文章类型,例如附件,版本,导航菜单项。
理解它们是什么以及工作原理,还有相同点和不同点,将会有助于你开发更强大的WordPress主题和插件。
由 surenpi.com@wordpress大学 原创翻译,未经允许,禁止转载和采用本译文。
您已阅读完《理解和利用 WordPress 中的数据(共9篇)》专题的第 3 篇。请继续阅读该专题下面的文章: