以编程方式插入的帖子未显示在帖子表中

时间:2016-06-21 作者:noquierouser

我正在尝试通过表单插入自定义帖子。这是一篇简短的帖子,大多数内容都是用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?

1 个回复
最合适的回答,由SO网友:noquierouser 整理而成

问题很简单publish, 不published.

根据the documentation:

post_status字符串/数组)-使用post状态。按帖子状态检索帖子。默认值为\'publish\', 但如果用户已登录,\'private\' 已添加。

相关推荐

在管理员帖子wp-list-table之前/之后添加内容

我知道有两个钩子可以在分类法wp列表前后添加内容。是否有操作可在编辑上的post type wp list表格后添加内容。php页面?$taxonomy列表:add_action( \'category\' . \'_pre_add_form\', \'copy_above_form\' ); function copy_above_form( $taxonomy ) { echo \'<p>Above the WP-List-Table</p>\';&#x