您的当前位置:首页 > 知识博客 > wordpress建站

深入理解 WordPress 文章数据表 wp_posts

时间:2024-04-03


关于WordPress文章类型的理解

你好,像其他WordPress专业术语一样,对WordPress文章的理解可能有一定难度。文章既可以指在WordPress中存储在数据表中的文章内容,也可以是一个内容类型。相比之下,Drupal在这方面的处理更加清晰和简单,内容类型就是内容类型,文章就是文章。(这是因为WordPress早期仅仅是一个博客应用,没有考虑到其他类型的内容,后来使用得越来越多,就比较难修改了)。

不过,WordPress中的术语并不多,只需要稍微思考一下就可以理解了。在WordPress数据库中,主要有以下几种类型的数据:

  • 文章

  • 用户

  • 评论

  • 链接

接下来,我们将深入探讨文章类型,并简单介绍文章类型与其他数据的关系。

什么是WordPress文章类型

首先,我们需要弄清楚在WordPress中,文章也是一种文章类型。

  • "文章"形式是存储在"wp_posts"数据表中的一条内容,每个内容条目都有一个"post_type"字段,它的值可以是“post”、“page”或其他自定义数据类型。

  • "文章"是一个文章类型,用于发布文章或新闻,具体取决于你开发的网站是什么类型。

"wp_posts"数据表结构如下:

WordPress文章数据表结构
WordPress文章数据表结构

WordPress中默认的文章类型

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”字段存储和体现。


欢迎咨询/Welcome to inquire
tel/vx:18842938855
qq:1685522781
email:1685522781@qq.com

Copyright © 2019-2024 thinkphp.xyz


Whatsapp