0

我有一个非常奇怪的问题,如果我以编程方式添加自定义帖子类型,它拒绝显示在管理员中。

这工作正常:

    <?php
    wp_insert_post(array(
        'post_title' => 'TEST', 
        'post_content' => 'TESTING'
    ));

并正确地将新帖子添加到管理员的帖子页面。

然而,这表现得很奇怪:

    <?php
    wp_insert_post(array(
        'post_type' => 'items', 
        'post_title' => 'TEST', 
        'post_content' => 'TESTING'
    ));

运行该功能后,如果我访问管理员中的项目页面,新帖子将不会显示。但是,“帖子数”计数器确实增加了,如果我在 URL 中手动输入帖子的 ID,我可以正确编辑它。再次保存并不能解决问题。

正如您在屏幕截图中看到的那样,总共有 68 个项目(这是正确的),但其中只有 4 个出现在列表中。12 个草稿也是通过代码添加的,如果我切换到“草稿”选项卡,它就完全是空的。

我以管理员身份登录。

丢失物品

4

1 回答 1

1

傻我。我一直在使用pre_get_posts修改 WP 的搜索结果(允许用户对一个不同的字段进行排序),但我忘记确保它不会在管理页面上运行。

因此,在管理员列表中,它仍然会尝试对只有某些帖子具有的自定义字段进行排序,因此每个缺少自定义字段的帖子都不会显示。

希望这对将来的某人有所帮助。

于 2013-07-17T23:26:25.790 回答