使用TAX_QUERY反转自定义WP_QUERY中的POST_TYPE参数

时间:2012-05-02 作者:Jarrod

我正在使用自定义查询从自定义帖子类型中提取一些帖子。我有问题,所以我在我的WP\\u查询对象上使用了print\\r,发现了一些奇怪的东西。

my query has these arguments:
\'post_type\' => \'event\'
    ,\'tax_query\' => array(
                array(
                    \'taxonomy\' => \'event-categories\'
                    ,\'field\' => \'id\'
                    ,\'terms\' => 72
                    ,\'operator\' => \'IN\'
                )
    )
    ,\'order\' => \'ASC\'
);
$query = new WP_Query( $args );
当我删除tax\\u查询部分时,我得到了所有的帖子,但当我将其包括在内时,我什么也得不到。我肯定我有不止一篇分类ID为72的帖子。当我查看带有帖子类型的print\\r($query)时,我看到:

WP_Query Object
(
[query_vars] => Array
    (
        [post_type] => Array
            (
                [0] => media_player
                [1] => ada_slides
                [2] => closings
                [3] => staff
                [4] => post
                [5] => page
            )
我所有的帖子类型都列出了,除了我想要的事件。如果我从args中取出tax\\u查询,它如下所示:

WP_Query Object
(
[query_vars] => Array
    (
        [post_type] => event
        [order] => ASC
。。。等等

此外,如果我将运算符更改为“不在”,它会搜索正确的帖子类型,但会排除我要搜索的类别。

为什么使用tax\\u查询参数似乎会使我的post\\u类型参数无效,而是包括除我想要的以外的所有post类型?

1 个回复
SO网友:Jarrod

结果是插件冲突。我曾一度关闭了所有插件,但没有明显的好处,但后来又打开了一些插件,这样我就可以在我正在使用的站点上运行其他一些东西。

问题在于Easy Custom Content Types插件(一个非常方便的插件),我正在与它的开发人员联系。看起来我可能也没有最新版本,所以他可能已经修好了。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post