打开你的数据库,看看wp_posts表,你就会看到post_type字段,这个字段是干啥用的呢,其实是定义你发布文章的类型,你可以看到每条数据都有一个类型,来表示你的发布的文章是哪种的。
wordpress默认文章类型
wordpress中有如下的几种文章类型。
Post 文章
Page 页面
Attachment 附件
Revision 文章版本
Navigation Menu Item 导航菜单
除了这些默认文章类型,我们还可以通过register_post_type() 函数注册自定义文章类型,这样就可以添加自己想要类型的文章啦。
理解默认文章类型
文章类型 | 用途 | 备注 |
---|---|---|
Post | 博客文章 | 核心文章类型 |
Page | 静态页面 | 用来显示一个内容比较固定的页面,文章可以有父级页面,每个父级页面可以有多个子页面。 |
Attachment | 文章附件 | 上传到某篇文章的媒体将会附加到这篇文章,作为这篇文章的附件,该媒体的 post_parent 字段将被设置为这篇文章的 ID,在多媒体上传页面上传的媒体没有附加到文章, post_parent 为空,guid 字段用来存储媒体文章的 URL。 |
Revision | 文章版本 | 每个版本都被附加到一篇文章,版本的post_parent 字段为所附加到文章的文章 ID。 |
Navigation Menu Items | 导航菜单 | 每个菜单都包含若干个导航菜单项目,每个项目被保存为一条文章记录,menu_order 字段用来记录菜单的顺序,其他附加数据,如打开方式、父级菜单保存在 wp_postmeta 数据表中。 |
如上表所见,post_parent 是一个非常重要的字段,该字段存储着不同文章之间的父子关系,包括:
父级页面和子页面
每个文章的修订版本
附件和附件所附加到的文章
在自定查询中,我们有很多地方需要用到 post_parent 字段,例如:查询指定页面的子页面,下面的例子中 ID 是一个数字,字父级页面的 ID。
‘post_parent’ => ‘ID’
同样,我们也可以使用类似的方式显示附加到一篇文章的所有附件,或者查询没有附加到任何文章的附件(在多媒体管理界面上传的媒体通常没有附加到文章),查询这一类数据,只需要把 post_parent 的值设置为0就可以了:
‘post_parent’ => 0
对修订版本的查询我们不太可能用到,在这里就不多说了。
另外,我们可以使用 post_parent_in ,该参数的值为一个数组,用来查询一组文章或页面的子页面,由此可见理解这个post_type类型可以帮我们做出多种不同类型的文章页面。
评论抢沙发