我正在尝试通过表单插入自定义帖子。这是一篇简短的帖子,大多数内容都是用add_post_meta
. 到目前为止,除了一个细节外,后期插入工作正常。这是我正在执行的插入后查询:
$venta = wp_insert_post(array(
\'post_name\' => "venta-$stamp",
\'post_title\' => "Venta $stamp",
\'post_type\' => \'venta\',
\'comment_status\' => \'closed\',
\'ping_status\' => \'closed\',
// \'post_status\' => \'published\'
));
如图所示,它以草稿的形式插入帖子,没有任何麻烦。但如果我取消注释
post_status
, 将插入帖子,但它不会显示在与该帖子类型相关的所有帖子表中。
如果我运行WP_Query
为此post_type
, 它向我显示了已发布的帖子和帖子数量(在查询和帖子表顶部选项卡中),反映了这些帖子实际上存在于数据库中,但在帖子表中看不到它们。在WP Admin中查看帖子的唯一方法是手动编辑URL以访问帖子,这样我就可以修改或删除它们。
到底发生了什么?我能做些什么来测试发生了什么?还有我应该看的文件吗the Developer Resources for wp_insert_post
?
最合适的回答,由SO网友:noquierouser 整理而成
问题很简单publish
, 不published
.
根据the documentation:
post_status
(字符串/数组)-使用post状态。按帖子状态检索帖子。默认值为\'publish
\', 但如果用户已登录,\'private
\' 已添加。