使用TAX_QUERY的自定义分类

时间:2013-08-01 作者:Matt Dunnam

因此,我用一个插件(CMS Press)创建了一个自定义分类法类型,现在我正在尝试获取该分类法中包含分类法术语的所有帖子。

我的get\\u帖子如下所示:

$args = Array( 
    \'numberposts\' => 5, 
    \'offset\' => 0,
    \'post_status\' => \'publish\',
    \'content-type\' => \'my-term\'
);

get_posts($args);
我也尝试过:

$args = Array( 
    \'numberposts\' => 5, 
    \'offset\' => 0,
    \'post_status\' => \'publish\',
    \'tax_query\' => Array( Array ( 
        \'taxonomy\' => \'content-type\' 
        \'field\' => \'slug\' 
        \'terms\' => \'my-term\' 
    ));

get_posts($args);
当我不使用自定义分类法时,这很好用。如果我将请求更改为:

$args = Array( 
    \'numberposts\' => 5, 
    \'offset\' => 0,
    \'post_status\' => \'publish\',
    \'tax_query\' => Array( Array ( 
        \'taxonomy\' => \'post_tags\' 
        \'field\' => \'slug\' 
        \'terms\' => \'some-tag\' 
    ));

get_posts($args);
它起作用了。

我想知道是否有什么我遗漏的东西阻止了对自定义分类法的查询。任何帮助都将不胜感激。

2 个回复
SO网友:Biranit Goren

从…起the WordPress codex for wp_query:

在“people”自定义分类下显示标记有bob的帖子:

$args = array(
    \'post_type\' => \'post\',
    \'people\' => \'bob\'
);
$query = new WP_Query( $args );
使用tax\\u查询,在“people”自定义分类下显示标记有bob的帖子:

$args = array(
    \'post_type\' => \'post\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'people\',
            \'field\' => \'slug\',
            \'terms\' => \'bob\'
        )
    )
);
$query = new WP_Query( $args );
请参见the Codex page 更多示例。

SO网友:Pieter Goosen

这个问题最可能的原因是催眠剂的使用(-) 在自定义分类名称中。在自定义分类名称中使用连字符非常麻烦,因此根据规则,应该不惜一切代价避免使用连字符。

如果需要在自定义分类名称中分隔名称,甚至在自定义帖子类型名称中分隔名称,则应且仅使用下划线(_). 还要避免使用camelcase、数字作为第一个字符和任何类型的特殊字符

结束

相关推荐

Looping taxonomy in taxonomy?

所以我有一个CPT的参考文献(就像一个音乐的字典格式)。其中有两种分类法:medium_reference 和reference_letter.这个reference_letter 列出字母A-Z,而medium_reference 按引用类型(人员、术语、公司)列出。我想知道是否有可能遍历每个字母,然后在该循环中遍历各个术语。类似这样的情况(无论如何都不可能):$reference_letters = get_the_terms($post->ID,\'reference_letter\');&#