以编程方式添加自定义帖子类型不会将其添加到管理员

时间:2013-07-09 06:27:41

标签: wordpress custom-post-type

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

这很好用:

    <?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'
    ));

运行此功能后,如果我访问管理员中的项目页面,则新帖子将不会显示。 然而,“帖子数量”计数器会增加,如果我手动输入网址中的帖子ID,我可以正确编辑。再次保存不能解决问题。

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

我以管理员身份登录。

Missing Items

1 个答案:

答案 0 :(得分:1)

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

因此,在管理员列表中,它仍会尝试对仅部分帖子所拥有的自定义字段进行排序,因此每个缺少自定义字段的帖子都不会显示。

希望这有助于将来。