发布的帖子不可查询,也不会显示在管理信息中心中

时间:2017-02-16 19:28:53

标签: php wordpress wordpress-theming custom-post-type custom-wordpress-pages

我多次遇到过这个问题。只有在我以编程方式创建/编辑帖子时才会出现此问题。他们可能是海关职位,甚至是Wordpress'默认帖子。症状可能是:

  • 这些帖子在管理信息中心中不可见。该自定义帖子类型的帖子数仍然增加,但列表中没有显示帖子。
  • 即使post_status设置为'any',创建的帖子也无法查询。奇怪的是,当我将post_status设置为published时,它可以正常工作。

这是一个自行回答的问题。我以前曾多次遇到这个问题而且总是忘记它的原因。搜索暗示了许多其他人在没有解决方案的情况下陷入困境的可能性。

1 个答案:

答案 0 :(得分:1)

TL; DR; :它是publish,而不是published

此问题的原因是因为我在以编程方式创建新帖子时,将其post_status设置为published。造成混淆的常见原因是,您以编程方式批准帖子,将帖子状态从pending切换为published,因为它似乎合乎逻辑。

这些帖子既不在查询也不在管理信息中心展示的原因是因为WP_Query的{​​{1}}实际上并没有按照我们的预期查询'任何'帖子状态,但任何已注册的帖子状态。由于wordpress没有事先了解帖子状态post_status => 'any',因此查询会忽略它们。

现在希望我不要忘记明年我今天再写的内容。