GET_POST_TYPE未显示所有已注册帖子

时间:2013-05-22 作者:fraxture

在插件中调用get\\u post\\u types()时,输出仅注册基本的post类型集。以下是输出:

array(5) { ["post"]=> string(4) "post" ["page"]=> string(4) "page" ["attachment"]=> string(10) "attachment" ["revision"]=> string(8) "revision" ["nav_menu_item"]=> string(13) "nav_menu_item" }
然而,在这个wordpress主题中,我注册了一个名为“艺术家”的自定义帖子类型,但它没有显示出来。但是,如果我在索引中调用get\\u post\\u types()。php文件它是如何注册帖子的:

array(8) { ["post"]=> string(4) "post" ["page"]=> string(4) "page" ["attachment"]=> string(10) "attachment" ["revision"]=> string(8) "revision" ["nav_menu_item"]=> string(13) "nav_menu_item" ["acf"]=> string(3) "acf" ["artist"]=> string(6) "artist" ["release"]=> string(7) "release" }
有人知道为什么会发生这种情况,以及如何绕过这个问题吗?

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

您必须等待呼叫,直到主题注册其帖子类型(it really should not do that anyway):

add_action( \'after_setup_theme\', \'list_post_types\', 20 );

function list_post_types()
{
    var_export( get_post_types() );
}

结束

相关推荐