WordPress 包含许多不同类型的内容,它们被分为称为帖子类型的东西。单个项目称为帖子,但这也是称为帖子的标准帖子类型的名称。默认情况下,WordPress 带有几种不同的帖子类型,它们都存储在wp_posts表下的数据库中。
默认帖子类型 #
除非另有删除,否则始终包含在 WordPress 安装中的默认帖子类型是:
- 帖子
- 页面
- 附件
- 修订
- 导航菜单
- 自定义 CSS
- 变更集
帖子 #
WordPress 中的帖子是一种典型的帖子类型,并且最常被博客使用。帖子通常按时间倒序显示在博客中(最新帖子优先)。帖子还用于创建 RSS 提要。
页面 #
页面类似于帖子,但它们有一些非常重要的区别。页面不会以基于时间的相反顺序显示。它们也可以放置在分层顺序中,其中一个页面可以是另一个页面的父级或子级,从而创建页面结构。传统上,页面也不像帖子那样使用类别和标签。
附件 #
附件是另一种特殊的帖子类型,因为它们包含有关上传到您的 WordPress 网站的任何媒体的信息。不仅主要帖子信息存储在其他帖子所在的位置,附件还利用 wp_postmeta 表来存储额外信息,例如您添加的图像和视频的元数据。
修订 #
修订是一种特别特殊的帖子类型,因为它们用于创建其他帖子类型的历史记录,以防您犯了错误并想要回滚到以前的版本。虽然从技术上讲,除非您恢复修订,否则您无法直接编辑修订,但它们就像帖子一样可编辑,并且像任何其他帖子类型一样存储在wp_posts表中。
菜单 #
WordPress 中的菜单是可用于浏览您的网站的链接列表。这使您可以创建指向网站上各个位置的自定义链接列表,这些链接供访问者使用,并在仪表板的主题部分进行编辑,远离传统的帖子类型,如帖子或页面。
自定义 CSS #
自定义 CSS 是一种主题特定的帖子类型,用于存储从自定义程序附加 CSS屏幕保存的 CSS。每个主题都可以有自己的自定义 CSS 帖子,但实际上只使用活动主题“custom_css”帖子。
变更集 #
变更集类似于修订,但专门针对定制器。这是为了使定制器保持在持久状态。WordPress 将尝试将用户会话期间通过定制器所做的内容更改保留在“customize_changeset”帖子中,并在您退出当前会话时尝试恢复它们。
自定义帖子类型 #
虽然 WordPress 中已经有很多标准的帖子类型,但如果您想将内容分解为更小的类别,您可能需要扩展您拥有的帖子类型的数量。例如,如果您想在书籍上有一个部分,则更适合为它们创建自定义帖子类型。这可以使用register_post_type函数来完成。
强烈建议您在插件或必须使用的插件中定义自定义帖子类型,以确保如果您切换主题,帖子类型不会丢失。这样您就可以确保您的内容始终可以访问。
模板文件 #
默认情况下,WordPress 在主题中使用 index.php、single.php 和 archive.php 文件来显示网站前端的任何类型的帖子。但是,如果您制作了自定义帖子类型,您可能会发现您希望以与其他类型不同的方式显示此信息。您可以通过在主题中使用帖子类型特定的自定义模板来做到这一点。
如果您像上面的示例一样创建一个名为 Books 的帖子类型,您可以创建一个名为 single-books.php 的模板文件,该文件将显示您发布的各个图书帖子。同样,要在自定义存档页面(它们都在其中列出)中显示您的所有书籍,您可以创建一个 archive-books.php 模板文件,这将显示您已发布的所有书籍帖子。
帖子类型查询 #
如果您想获取名为 Books 的自定义帖子列表,您可以创建一个新的WP_Query实例并全部获取它们。如果您想在网站的某处创建自定义循环并以与其他帖子不同的方式显示它们,这很方便。
帖子查询 #
您可能会发现,在某些情况下,您希望将自定义帖子包含到您的博客帖子的主要查询中。您可以通过使用pre_get_posts过滤钩子来做到这一点,该钩子让您可以自定义获取帖子的查询,然后再将其显示在网站的前端。