查询的替代方案->附加条件而不是覆盖的集合

时间:2014-07-27 作者:Bilal Akil

我正在对插件中的主查询应用一个分类条件,它从中排除了一系列post格式。

具体操作如下:

$query->set(\'tax_query\', array(
    array(
        \'taxonomy\'  => \'post_format\',   // Post formats are queried as taxonomies
        \'field\'     => \'slug\',
        \'terms\'     => self::$formats,
        \'operator\'  => \'NOT IN\'
    )
));
这是有效的-帖子格式被排除,因为我希望他们这样做。但问题是如果有tax_query 条件之前已指定,然后它将被覆盖并在空间和时间上丢失。

有什么方法可以附加我的tax_query 条件而不丢失覆盖之前的所有条件?

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

$query->set 不是唯一的方法。

你想要的是$query->get. 使用get 您可以检索现有值,附加所需的其他部分,然后使用新参数设置查询变量

$tax_query = $query->get( \'tax_query\' );

// add the extra parameter

$query->set( \'tax_query\', $tax_query );
添加额外参数只是使用标准PHP数组功能附加另一项。

结束

相关推荐

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

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