Перебор многомерных массивов и добавление налогового запроса для каждой таксономии

#php #arrays #wordpress #foreach

#php #массивы #wordpress #foreach

Вопрос:

Я получаю значения из формы ресурса, которая имеет разные таксономии. Каждая таксономия имеет несколько разных терминов. С помощью этих таксономий и терминов я выполняю запрос для получения определенных сообщений и возвращаю результаты с помощью функции и ajax.

В функции я собираю все параметры и пытаюсь выяснить, имеют ли параметры одинаковую таксономию, и если да, то проверяю, представлено ли несколько терминов, и добавляю в налоговый запрос. Мне удалось создать многомерный массив, сгруппированный с той же таксономией, и я удаляю это:

 array (size=3)
  'resource-format' => 
    array (size=2)
      0 => 
        array (size=2)
          'name' => string 'resource-format' (length=15)
          'value' => string '83' (length=2)
      1 => 
        array (size=2)
          'name' => string 'resource-format' (length=15)
          'value' => string '81' (length=2)
  'resource-author' => 
    array (size=1)
      0 => 
        array (size=2)
          'name' => string 'resource-author' (length=15)
          'value' => string '73' (length=2)
  'resource-origin' => 
    array (size=1)
      0 => 
        array (size=2)
          'name' => string 'resource-origin' (length=15)
          'value' => string '89' (length=2) 
  

для каждой таксономии я хотел бы добавить этот налоговый запрос, но убедитесь, что все значения для конкретной таксономии находятся в 1 вызове.

 $filter_args['tax_query'][] = array(
           'taxonomy' => $param[name],
           'field' => 'id',
            'terms' => $param[value]
);
  

Итак, для приведенного выше я в основном ищу формат ресурса, который будет

 $filter_args['tax_query'][] = array(
           'taxonomy' => 'resource-format,
           'field' => 'id',
           'terms' => (83,81),
);
  

а также имеют:

 $filter_args['tax_query'][] = array(
           'taxonomy' => 'resource-author,
           'field' => 'id',
           'terms' => (73),
);
  

У меня возникли проблемы с объединением всего этого. Любая информация была бы отличной.