我正在使用函数get_posts 检索一组属于我的自定义帖子类型(CPT)的帖子对象。我指望能够通过编程将这些帖子在“发布”、“待定”和“草稿”状态之间切换。
在我遇到检测和“修复”潜在重复的麻烦之前——这是我必须担心的事情吗?是否存在相同CPT的情况post_name 可以驻留在wp_posts 多个(行)中的表post_status: 发布、挂起或草稿?
(编辑)经过一些实验,我发现在插入状态为“pending”的帖子时,它会忽略post\\u name参数,因此最终在数据库中为空。是的,它将允许wp\\u posts表中的许多行具有相同的post\\u名称“”(空白)。我相信这有一个很好的理由,但这并不是我所期望的那样。
最合适的回答,由SO网友:Mark Kaplun 整理而成
不,不可能有多个具有相同CPT和帖子名称(slug)的帖子。有人可能会努力工作,通过在数据库中写入一些非法值来破坏数据库,但这不应该是您在编写代码时想到的。
处于初始状态的帖子并不是真正的帖子,它们只是占位符,因此,尽管您的观察是有效的,但它与wordpress API的通常使用模式并不相关,除非您的目标再次是打破现状。