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

Wordpress-获取与自定义分类法关联的自定义帖子类型,wordpress,taxonomy,custom-post-type,Wordpress,Taxonomy,Custom Post Type,根据WordPress Codex,该函数有一个“分类法”参数,但没有解释它是如何工作的 $post_args = array( 'public' => true, 'taxonomies' => 'genre', 'show_ui' => true ); $post_types = get_post_types($post_args); 上述代码不会返回任何内容,即使流派

根据WordPress Codex,该函数有一个“分类法”参数,但没有解释它是如何工作的

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

$post_types = get_post_types($post_args);
上述代码不会返回任何内容,即使流派是注册到“book”post类型的分类法


如果我有一个自定义的帖子类型的“书”,有一些自定义的分类,比如“作者”和“流派”。。。我想使用
get\u post\u type()
返回与“流派”关联的帖子类型。。。显然是“书”。我正在尝试做一些有助于设置
get\u posts()
中的
post\u type
参数的东西。。因为默认情况下只搜索帖子,而不搜索自定义帖子类型。显然,我可以只设置
post\u type
参数,但我想让它与我未来可能在不同主题中使用的任何post类型向前兼容。

可能想同时使用这两种类型:get\u posts(),然后传入您的post\u类型。下面的内容可能会帮助您开始

$post_types = get_post_types();
    if ( is_category() || is_tag()) {

        $post_type = get_query_var('article');

        if ( $post_type )
            $post_type = $post_type;
        else
            $post_type = $post_types;

        $query->set('post_type', $post_type);

    return $query;
    }
}
如果您不想使用is_category和is_标记,您可以在_taxonomy()中使用类似is_的内容。你到底想干什么?我想你正试图做和我一样的事,那就是

在自定义文章类型的存档页面上,对特定自定义文章类型的所有分类使用自定义循环。例如:

taxonomy-[MY-CPT].php
vs

事实上,我也在试着做同样的事情,我会让你知道我的想法


请注意,我刚刚编写了is_in_taxonomy()

taxonomies
不是的有效参数,因此它最多只会忽略该参数并返回所有已注册帖子类型的列表

您最好的选择可能是对象:


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

酷。我真的不知道我在这里想做什么,但你永远不知道谁会在未来找到这个职位。几年后,我在谷歌上搜索了一些东西,最终找到了自己的帖子@helgatheviking我也做同样的事情,所以这也是我自己的参考。我甚至在谷歌上搜索了一个问题,最后在我自己的博客上发表了一篇文章。所有这些都指向了互联网上一个阴险的阴谋,它想剥夺我的短期记忆。该死的,光照派,短期记忆?那是什么?正如我所说的,我不知道我最初想做什么,但这确实回答了标题中的问题。当您希望在分类模板页面上同时显示文章类型名称和分类术语时,这很有用,例如:图书:非小说。这对于
get\u queryed\u object
来说很简单,但对于分类术语模板来说就不那么简单了
taxonomy-[MY-CUSTOM-TAXONOMY].php
$currentTaxonomy = get_query_var('taxonomy');

//  Or: $currentTaxonomy = 'genre';

if ($currentTaxonomy) {
    $taxObject = get_taxonomy($currentTaxonomy);
    $postTypeArray = $taxObject->object_type;
}