查找通过自定义分类的多个值发布

时间:2016-11-22 14:19:39

标签: wordpress taxonomy-terms

我有一个名为Country的自定义分类。这些值包括各个国家/地区名称以及应该代表所有国家/地区的“国际”字段。

这是应该如何工作的。如果我按值'国际'查找,它应该找到所有只有'国际'作为国家/地区价值的帖子。但是,如果我按值'USA'查找,它应该找到所有国家/地区值为'USA'的帖子以及所有国家/地区值为'International'的帖子过滤掉任何重复的帖子。

我可以将国际作为所有其他国家价值观的父母,但它实际上会产生相反的影响,因为国际上找到的帖子也会拉出专门用于美国的帖子。我想我可以有类似下面的内容,

query_posts( array(
  "tax_query" => array(
    array(
      "taxonomy" => "country",
      "field" => "slug",
      "terms" => array( "international", "usa" ),
      "operator" => 'AND'
    )
  )
) );

但我是否必须为所有国家/地区价值观做这件事?或者只有当字段值不是“国际”时,如何有条件地执行此操作?

1 个答案:

答案 0 :(得分:0)

也许做一些会循环所有过滤器的东西,每次都构造一个不同的query_post过滤器数组。我不明白你是如何把国家作为国际和国际的,也许对你想要实现的目标采取不同的方法。

if ($filter)
        {
        $filterArray = array(
            'relation' => 'AND',
        );
        foreach($filter as $item)
            {
              //IF Statement here
            array_push($filterArray, array(
                'key' => 'country',
                'value' => $item,
                'compare' => '='
            ));
            }
        }