【问题标题】:Wordpress create a new post status? [closed]Wordpress 创建一个新的帖子状态? [关闭]
【发布时间】:2011-04-28 17:53:03
【问题描述】:

在 Wordpress 中,您会获得默认的帖子状态:已发布、草稿和待审核。是否可以通过活动主题的function.php文件注册来添加更多帖子类型?

也可以编辑 Publish Meta Box 的标签吗?我提交的内容真的不是发布...

还想补充一下,我只希望在我的自定义帖子类型中进行这些更改。

亲切的问候

斯科特

【问题讨论】:

  • 这些状态对帖子的处理和显示方式有着深远的影响,不是吗?我不认为你可以在某个列表中添加一个新的。您想添加哪些新状态?
  • 我只想向我的自定义帖子类型添加新状态,并且这些帖子已经通过自定义查询管理显示帖子。使用 wordpress,您可以根据帖子的状态进行查询以显示帖子。那么添加一些状态,如 Sold 和 Removed 对系统来说应该不是什么大问题?
  • @Brady 我明白了。我不知道这是否容易实现。那么使用标签/类别系统来代替呢?
  • @Pekka 我打算使用它,如果我想不通,我会使用它。但尝试的原因是因为我正在为客户构建它并试图使界面尽可能有意义。
  • 在右侧列中添加自定义元字段可能更有意义,直接在“发布”窗格下方,并带有一个简单的下拉菜单。我认为您所说的字段在“发布状态”下拉列表中没有意义,因为“发布”是指前端内容的权限和可见性,而“已售”/“待售”,等是有关内容的更多元信息。在模板中过滤这些信息同样容易,我真诚地怀疑这对客户来说似乎太复杂了——相信我,我对这类事情也很严格。

标签: php wordpress status meta


【解决方案1】:

从 WP 3.0 开始,您可以使用 register_post_status() 函数 (http://hitchhackerguide.com/2011/02/12/register_post_status/) 为帖子类型添加新状态。

WP 本身使用 register_post_status() 使用 wp-includes/post.php (http://hitchhackerguide.com/2011/02/11/create_initial_post_types/) 中的 create_initial_post_types() 函数在 init 上注册默认的“已发布”、“草稿”等状态。

查看这些链接中的代码,您可以了解如何使用该功能。

希望对您有所帮助!

【讨论】:

    【解决方案2】:

    您可以使用 register_post_status 函数添加自定义帖子状态。参考http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/post.php中的create_initial_post_types()

    但请注意,这并未集成到 Wordpress 后端 UI 中。

    【讨论】:

      【解决方案3】:

      如果你知道怎么写,你可以写一个插件。您必须深入研究文档或类似的插件,例如这个http://wordpress.org/extend/plugins/edit-flow/ 或这个http://wordpress.org/extend/plugins/custom-post-type-ui/

      使用“挂钩、操作和过滤器”,您可以更改管理界面,请参阅此处http://codex.wordpress.org/Plugin_API

      到目前为止,我只编写了一个简单的插件,但我不知道完成此操作必须遵循的确切步骤...

      祝你好运!

      【讨论】:

      • 感谢您的建议 Keyne,但此时我没有时间去挖掘 API,我目前正在为客户争取截止日期,因此必须坚持使用自定义字段目前的解决方案。我只是希望有人知道怎么做,并提供一些演示代码。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-13
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      相关资源
      最近更新 更多