Get_Posts()中的Tax_Query是否不起作用?

时间:2013-04-11 作者:qwerty

我正试图打印出每个分类法中的所有帖子,其中包含一个名为product (jigoshop产品)。所以我用$cats = get_terms(\'product_cat\');, 然后我循环遍历它们,并获得分类法中的所有帖子。问题是,它不起作用。它只是返回空白!

$uposts = get_posts(array(
    \'post_type\' => \'product\',
    \'numberposts\' => -1,
    \'tax_query\' => array(
        \'taxonomy\' => $cat->taxonomy,
        \'field\' => \'slug\',
        \'terms\' => array($cat->slug),
        \'operator\' => \'IN\'
    )
));
如果我更改\'terms\' => array($cat->slug)\'terms\' => $cat->slug 它返回所有帖子,就好像它完全忽略了tax\\u查询一样。

你知道是什么导致这个失败的吗?我试过和operator, 正在更改field 至ID(同时发送$cat->ID 作为术语)。。。什么都不管用!

$cat具有以下值:

stdClass Object
(
    [term_id] => 114
    [name] => Ny testkategori
    [slug] => ny-testkategori
    [term_group] => 0
    [term_taxonomy_id] => 115
    [taxonomy] => product_cat
    [description] => 
    [parent] => 0
    [count] => 2
    [meta_id] => 3
    [jigoshop_term_id] => 114
    [meta_key] => order
    [meta_value] => 1
)
所以$cat->slug和$cat->分类法是有效的值。

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

tax\\u query采用tax查询参数数组(它采用数组数组),但您只使用单个数组。正确的代码如下所示。

$uposts = get_posts(
    array(
        \'post_type\' => \'product\',
        \'numberposts\' => -1,
        \'tax_query\' => array(
            array(
                \'taxonomy\' => $cat->taxonomy,
                \'field\' => \'slug\',
                \'terms\' => array($cat->slug),
                \'operator\' => \'IN\',
            )
         )
    )
);
有关更多信息,请访问this page.

结束

相关推荐

Custom Taxonomy and Tax_Query

我一直很难找到WP_Query 使用tax_query 在我的自定义分类法上。我99.9%确信register_taxonomy 是正确的,因为我能够用正确的术语标记帖子,请在数据库中查看,正确的术语将通过此函数返回:http://pastebin.com/18Aj1ysT .但当我使用tax_query 在我的WP_Query, 我没有收到任何帖子。我的问题是:$nextSundayTalkArgs = array( \'post_type\' => \'talk\', &#