WP_QUERY没有带有TAX_QUERY的过帐

时间:2018-07-26 作者:PepperAddict

当我添加一个新的WP\\u查询时,一切都正常,但如果我添加一个带有分类法的“tax\\u查询”,它就无法获得帖子。post\\u计数始终为0。

    $products = new WP_Query([
        \'post_type\' => \'post\',
        \'tax_query\' => [
            [
                \'taxonomy\' => \'show_product_on_only_premium\',
                \'field\'    => \'slug\',
                \'terms\'    => \'yes\',
                \'operator\' => \'AND\',
            ]
        ]
    ]);

    echo var_dump($products);
我用不同的值处理了tax\\u查询,但运气不好。这在生产上有效,但在本地不起作用,我不知道为什么。编辑>我的数据库具有分类法

请帮忙!提前感谢您!

3 个回复
最合适的回答,由SO网友:PepperAddict 整理而成

因为我不知道它是什么,所以我可以通过避免post\\u类型来实现它。

   $products = new WP_Query( array(
        \'tax_query\' => array(
            array(
                \'taxonomy\' => \'show_product_on_only_premium\',
                \'field\'    => \'slug\',
                \'terms\'    => \'yes\',
            ),
        ),
    ) );
我尝试用另一种分类法再次进行分类,但我非常沮丧,它仍然没有给我任何帖子,但它在生产中起到了作用。事实证明,我的数据库在本地有个计数:0,但在生产中有个计数:7面部手掌

SO网友:Tom J Nowell

您的查询可以简化为:

$products = new WP_Query([
    \'post_type\' => \'post\',
    \'show_product_on_only_premium\' => \'yes\',
]);

echo var_dump($products->posts);
罪魁祸首很可能是\'operator\'=>\'AND\', 默认值为IN, 因此,将原始查询更改为使用IN 而不是AND 也会起作用,就像移除operator 参数作为默认值也是IN

SO网友:Trilok

您可以使用以下代码

   $products = new WP_Query( array(
            \'tax_query\' => array(
                \'relation\' => \'AND\',
                array(
                    \'taxonomy\' => \'show_product_on_only_premium\',
                    \'field\'    => \'slug\',
                    \'terms\'    => \'yes\',
                ),
            ),
    ) );

结束

相关推荐

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

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