Wordpress-获取与自定义分类相关联的自定义帖子类型

hel*_*ing 0 wordpress taxonomy custom-post-type

根据WordPress Codex,该get_post_types()函数具有"分类法"参数,但没有解释它究竟是如何工作的.

$post_args = array(
            'public'   => true,
            'taxonomies' => 'genre',
            'show_ui' => true
            ); 

$post_types = get_post_types($post_args);
Run Code Online (Sandbox Code Playgroud)

即使类型是注册到"书籍"帖子类型的分类,上面的代码也不会返回任何内容.

如果我有自定义帖子类型的"书籍",其中包含一些自定义分类,例如"作者"和"流派"......我想用它get_post_type()来返回与"流派"相关的帖子类型......显然是'书籍".我正在尝试制作一些有助于设置post_type参数的东西get_posts()..因为它只会默认搜索帖子而不是自定义帖子类型.显然我可以设置post_type参数,但是我想让它向前兼容我可能在不同主题中使用的任何未来的帖子类型.

ind*_*two 7

虽然我在这个方面有点迟到了:

taxonomies不是一个有效的参数get_post_types(),所以最好只是忽略参数并返回所有已注册的帖子类型的列表.

可能你最好的选择是get_taxonomy()对象:

$currentTaxonomy = get_query_var('taxonomy');

//  Or: $currentTaxonomy = 'genre';

if ($currentTaxonomy) {
    $taxObject = get_taxonomy($currentTaxonomy);
    $postTypeArray = $taxObject->object_type;
}
Run Code Online (Sandbox Code Playgroud)

这将为您提供分类法注册到的所有帖子类型的数组.