как получить WordPress гравитационные формы рассчитанное значение поля с API - PullRequest
0 голосов
/ 20 мая 2019

Я использую api v2 для гравитации, чтобы отправить форму из бота телеграммы.

Эта форма имеет несколько полей вычисления (значение рассчитывается на основе других полей).

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

Когда есть только одно поле вычисления, я могу обработать его, получить форму, извлечь формулу из поля, проанализировать ее и получить значение.

  public function calculateFieldValue(&$form, $fields, $fieldId) {
    $formula = $fields[$fieldId]['calculationFormula'];
    preg_match_all('/\{[^\}]*\}/', $formula, $output_array);
    foreach ($output_array[0] as $row) {
      preg_match('/[0-9]+/', $row, $id);
      $id         = $id[0];
      $fieldValue = $form['input_' . $id];
      $formula    = str_replace($row, $fieldValue, $formula);
    }

    return $form['input_' . $fieldId] = eval('return ' . $formula . ';');
  }

Но некоторые поля используют условную логику , чтобы иметь разные формулы на основе ввода ...

Так есть ли API или хак, чтобы сообщить гравитационной форме для расчета значений полей перед отправкой? или мне нужно воссоздать всю условную логику формы гравитации и извлечь правильное поле из списка?

можно ли сделать это с помощью плагина?

...