WordPress 中的帖子可以具有多种状态之一。给定帖子的状态决定了 WordPress 如何处理该帖子。例如,每个人都可以查看的公共帖子被分配为发布状态,而草稿被分配为草稿状态。状态存储在 wp_posts 表的 post_status 字段中。
WordPress 提供了 8 种您可以使用的内置状态。WordPress 3.0 让您能够添加自己的自定义帖子状态并以不同的方式使用它。
工作流程 #
WordPress 提供内置功能,使某些用户(基于他们的角色和能力)能够在提交到网站的内容发布之前对其进行审查。这通常称为“工作流程”。WordPress 的工作流程功能依赖于帖子post_status
字段的值来了解帖子当前处于工作流程中的哪个步骤。
大多数用户已经熟悉至少两种工作流状态:
在内部,WordPress 将帖子状态设置为publish
单击“发布”按钮时,WordPress 将帖子状态设置为draft
单击“保存草稿”按钮时。同样,如果您的网站有用户授予了edit_posts
能力但没有能力publish_posts
,那么当这些用户开始撰写新帖子时,WordPress 将显示“提交审核”按钮而不是“发布”按钮。同样,当用户按下该按钮时,WordPress 会分配用户创建状态的帖子。pending
任何具有将帖子分配给给定状态所需的能力的用户也可以在管理屏幕和添加新帖子屏幕中设置帖子的状态。在内部,所有这些帖子都存储在同一个地方(wp_posts
表格),并由一个名为post_status
.
默认状态 #
WordPress 默认使用 8 种主要的帖子状态。
发布 #
每个人都可以看到。(发布)
未来 #
计划在未来的某个日期发布。(未来)
草稿 #
具有适当用户角色的任何人都可以查看不完整的帖子。(草稿)
待办的 #
等待具有发布publish_posts
能力的用户(通常是分配了Editor
角色的用户)。(待办的)
私人的 #
仅对管理员级别的 WordPress 用户可见。(私人的)
垃圾 #
垃圾箱中的帖子被分配了trash
状态。(垃圾)
自动草稿 #
WordPress 在您编辑时自动保存的修订。(自动草稿)
继承 #
与子帖子(例如Attachments和Revisions)一起使用,以确定来自父帖子的实际状态。(继承)
自定义状态 #
注意: 此功能不会将已注册的职位状态添加到管理屏幕。此功能有待未来开发。请参阅Trac Ticket #12706。考虑添加此参数的操作挂钩post_submitbox_misc_actions。
自定义状态是您定义的发布状态。
向 WordPress 添加自定义状态是通过register_post_status()函数完成的。此功能允许您定义帖子状态及其在 WordPress 中的操作方式。
这是添加名为“未读”的自定义帖子状态的基本示例:
功能 custom_post_status(){ register_post_status('未读',数组( '标签' => _x('未读', '发布' ), '公共' => 真的, 'exclude_from_search' => 假, 'show_in_admin_all_list' => 真, 'show_in_admin_status_list' => 真, 'label_count' => _n_noop('未读(%s) ', '未读(%s) '), )); } add_action('init', 'custom_post_status');