0

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

这就是它应该如何工作的方式。如果我按“国际”值查找,它应该找到所有只有“国际”作为国家值的帖子。但是,如果我按“美国”值查找,它应该找到所有国家/地区值为“美国”的帖子加上所有国家/地区值为“国际”的帖子,过滤掉任何重复的帖子。

我可以将国际化作为所有其他国家价值观的父母,但它实际上会产生相反的影响,因为通过国际寻找帖子也会拉出专门针对美国的帖子。我想我可以有类似下面的东西,

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

但是我必须为所有国家价值观都这样做吗?或者仅当字段值不是“国际”时如何有条件地执行此操作?

4

1 回答 1

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' => '='
            ));
            }
        }
于 2016-11-22T14:43:07.343 回答