时间:2024-04-03
你好,像其他WordPress专业术语一样,对WordPress文章的理解可能有一定难度。文章既可以指在WordPress中存储在数据表中的文章内容,也可以是一个内容类型。相比之下,Drupal在这方面的处理更加清晰和简单,内容类型就是内容类型,文章就是文章。(这是因为WordPress早期仅仅是一个博客应用,没有考虑到其他类型的内容,后来使用得越来越多,就比较难修改了)。
不过,WordPress中的术语并不多,只需要稍微思考一下就可以理解了。在WordPress数据库中,主要有以下几种类型的数据:
文章
用户
评论
链接
接下来,我们将深入探讨文章类型,并简单介绍文章类型与其他数据的关系。
首先,我们需要弄清楚在WordPress中,文章也是一种文章类型。
"文章"形式是存储在"wp_posts"数据表中的一条内容,每个内容条目都有一个"post_type"字段,它的值可以是“post”、“page”或其他自定义数据类型。
"文章"是一个文章类型,用于发布文章或新闻,具体取决于你开发的网站是什么类型。
"wp_posts"数据表结构如下:
WordPress中的默认文章类型如下:
文章
页面
附件
文章版本
导航菜单项目
除了这些默认的文章类型,我们还可以通过"register_post_type()"函数注册自定义的文章类型。这意味着,在WordPress中可以有很多类型的文章,只要你不嫌麻烦,你可以一直添加下去。每种文章类型的数据字段和默认的文章类型相同。需要注意的一个术语是,“自定义文章类型”不是一个内容类型,而是所有添加到默认文章类型之外的自定义文章类型的总称。
例如,当我们构建自定义查询时,有一个“post_type”参数:
'post_type' => 'post'
这个参数查询的是默认文章类型。如果要查询其他类型的文章,只需修改参数值即可。在下面的示例中,我们将其修改为“books”,查询的是Book文章类型的内容:
'post_type' => 'book'
我们可以使用这个参数查询任何类型的文章数据,也可以同时查询多种类型的文章数据。这不是本文的重点,这里就不多讲了,如果你感兴趣,可以参阅WP_Query文章页面来深入了解。
下面我们简单了解一下默认的文章类型,查看它们之间的共同点和不同点。
文章类型 | 目的 | 备注 |
---|---|---|
文章 | 博客文章 | 核心文章类型 |
页面 | 静态页面 | 用于显示具有固定内容的页面,文章可以有父级页面,每个父级页面可以有多个子页面。 |
附件 | 文章附件 | 上传到文章的媒体将被附加到文章中,作为文章的附件。该媒体的“post_parent”字段将被设置为该文章的ID,上传媒体到多媒体上传页面时没有附加到文章,则“post_parent”为空,"guid"字段用于存储媒体文章的URL。 |
文章版本 | 文章版本 | 每个版本都被附加到一篇文章,版本的“post_parent”字段为所附加到文章的文章ID。 |
导航菜单项目 | 导航菜单 | 每个菜单都包含若干个导航菜单项目,每个项目被保存为一条文章记录,“menu_order”字段用于记录菜单顺序。其他附加数据,如打开方式、父级菜单,保存在“wp_postmeta”数据表中。 |
自定义文章类型可以注册为与内置文章类型相同的形式(除附件之外)。每种文章类型都可以有自己的界面。
如上表所示,“post_parent”是一个非常重要的字段,该字段存储着不同文章之间的父子关系,包括:
父级页面和子页面
每个文章的修订版本
附件和附件所附加到的文章
在自定义查询中,我们需要使用“post_parent”字段的很多地方,例如:查询特定页面的子页面,下面的示例中,“ID”是一个数字,表示父页面的ID。
'post_parent' => 'ID'
同样地,我们也可以使用类似的方法来显示附加到一篇文章的所有附件,或查询未附加到任何文章的附件(通常上传到多媒体管理页面的媒体没有附加到文章中),查询这类数据,只需将“post_parent”字段的值设置为0即可:
'post_parent' => 0
我们可以使用“post_parent_in”参数来查询一组文章或页面的子页面。该参数的值为一个数组。
要理解WordPress数据库,我们需要理解“wp_posts”数据表和存储方式。"wp_posts"数据表主要用于存储文章,包括内置文章类型和自定义文章类型。该数据表记录之间的层级关系通过“post_parent”字段存储和体现。
Copyright © 2019-2024 thinkphp.xyz