GET_POST_TYPE在管理员中无法正常工作

时间:2015-03-07 作者:ahmetertem

我正在尝试获取所有帖子类型(custom&;Build\\u-in),但它只提供admin中的内置类型。我可以在根目录中获得所有这些文件(包括5个内置文件),但在管理中,我只能获得3个。

我觉得我需要一个触发器,一个动作什么的,但我找不到。

    $post_types = get_post_types( array( \'public\' => true ), \'name\' ); 
    var_dump($post_types);
更多信息:我将在reduxframework的配置页面(在“setSection”函数中)中使用它。

PS:我不想用sql查询获取post\\u类型,因为我也需要空的post\\u类型。

编辑:不仅仅是管理。

对于reduxframework开发人员;您不能使用任何使用init 操作标志。供参考:https://github.com/ReduxFramework/redux-framework/issues/1181

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

register_post_type 建议用于init 行动挂钩。所以get_post_types 应在之后的操作中使用init. 挂钩init 具有非常高的优先级,999或更高,几乎在任何情况下都应该有效,但使用稍后的动作挂钩更安全。

示例:

add_action(\'wp_loaded\', function(){
        $post_types = get_post_types( array( \'public\' => true ), \'names\' ); 
        var_dump($post_types);
});
在管理部分,您可以使用admin_init, 在后面跑init:

add_action(\'admin_init\', function(){
        $post_types = get_post_types( array( \'public\' => true ), \'names\' ); 
        var_dump($post_types);
});

结束