文章状态

WordPress 中的文章可以有多种状态。给定文章的状态决定了 WordPress 如何处理该文章。例如,所有人可见的公开文章被指定为“已发布”状态,而草稿则被指定为“草稿”状态。该状态存储在 `wp_posts` 表的 `post_status` 字段中。

WordPress 提供了 8 种内置状态供您使用。WordPress 3.0 提供了添加自定义文章状态并以不同方式使用的功能。

工作流程

WordPress 提供了内置功能,使某些用户(基于其角色与权限)能够在内容发布之前进行审查。这通常被称为“工作流程”。WordPress 的工作流程功能依赖于文章的 post_status 字段值来判断文章当前处于工作流程中的哪一步。

大多数用户至少熟悉两种工作流程状态

  • 对所有人(包括未登录用户)可见的已发布文章被赋予publish 状态
  • 尚未发布的草稿被指定为draft 状态

在内部,当您点击“发布”按钮时,WordPress 会将文章状态设置为 publish;当您点击“保存草稿”按钮时,WordPress 会将文章状态设置为 draft。同样,如果您的网站用户拥有edit_posts 权限但没有publish_posts 权限,那么当这些用户开始撰写新文章时,WordPress 将显示“提交审核”按钮而不是“发布”按钮。同样,当他们按下该按钮时,WordPress 会将该用户创建的文章指定为pending 状态

文章状态也可以由任何拥有所需权限的用户在管理界面添加新文章界面中设置。在内部,所有这些文章都存储在同一个位置(wp_posts),并通过名为 post_status 的列进行区分。

默认状态

WordPress 默认使用 8 种主要文章状态。

发布

所有人可见。(publish)

将来

预定在将来日期发布。(future)

草稿

不完整的文章,拥有适当用户角色的任何人可见。(draft)

待审

等待拥有 publish_posts 权限的用户(通常是拥有编辑者角色的用户)发布。(pending)

私有

仅供管理员级别的 WordPress 用户可见。(private)

回收站

回收站中的文章被指定为 trash 状态。(trash)

自动草稿

您编辑时 WordPress 自动保存的修订版本。(auto-draft)

继承

与子文章(如附件修订版本)一起使用,以从父文章确定实际状态。(inherit)

自定义状态

注意:此函数不会将已注册的文章状态添加到管理界面。此功能有待将来开发。请参考Trac 工单 #12706。考虑使用动作钩子post_submitbox_misc_actions来添加此参数。

自定义状态是您定义的文章状态。

通过 register_post_status() 函数可以将自定义状态添加到 WordPress。此函数允许您定义文章状态及其在 WordPress 中的运行方式。

以下是添加名为“未读”的自定义文章状态的基本示例

function custom_post_status(){
	register_post_status( 'unread', array(
		'label'                     => _x( 'Unread', 'post' ),
		'public'                    => true,
		'exclude_from_search'       => false,
		'show_in_admin_all_list'    => true,
		'show_in_admin_status_list' => true,
		'label_count'               => _n_noop( 'Unread (%s)', 'Unread (%s)' ),
	) );
}
add_action( 'init', 'custom_post_status' );

资源

代码文档

本文是否有帮助?如何改进?

首次发布

最后更新