如果在WP_QUERY中设置了“p”参数,则忽略“TAX_QUERY”参数

时间:2018-03-26 作者:Nicola Peluchetti

我有一个查询对象,其中tax_queryp 已设置参数

[query] => Array
    (
        [tax_query] => Array
            (
                [0] => Array
                    (
                        [taxonomy] => destination_tag
                        [field] => slug
                        [terms] => Array
                            (
                                [0] => country
                            )

                    )

            )

        [post_type] => dc-location
        [lang] => en
        [posts_per_page] => 10
        [paged] => 1
        [p] => 7
    )
生成的SQL查询忽略tax\\u query参数

[request] => SELECT   wptests_posts.* FROM wptests_posts  WHERE 1=1  AND wptests_posts.ID = 7 AND wptests_posts.post_type = \'dc-location\'  ORDER BY wptests_posts.post_date DESC
如果我删除p 参数,则查询正确包含税务查询。有没有办法强制sql解析tax_query 即使p 是否定义?

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

p 是中的特殊参数WP_Query 因为它缩短了大多数查询解析逻辑以请求单个post。

在你的情况下,我建议使用post__in 需要使用时的参数tax_query 同时

结束

相关推荐

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

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