Я борюсь с функцией GFAPI submit_form()
, когда она используется в циклах. По неизвестной причине он часто объединяет данные из других циклов в один, результатом этой ситуации является то, что только самая первая запись добавляется надлежащим образом, а остальные кажутся пустыми.
Я не могу использовать другие функции, хотя я пытался - и это сработало (add_entry()
, например). Мне нужно использовать генерацию QR и прикрепить их к уведомлению, и эти коды генерируются при отправке формы.
CSV-файл содержит не менее 3 столбцов: email
, full_name
и phone_number
. Вот мой код:
function generateData($filename, $date, $id){
$rows = array_map('str_getcsv', file($filename));
$header = array_shift($rows);
$csv = array();
foreach($rows as $row) {
$csv[] = array_combine($header, $row);
}
$count_array = count($csv);
for ($i=0; $i < $count_array; $i++) {
foreach ($csv[$i] as $key => $value) {
// delete rows that we don't need
if ($key != 'email' && $key != 'full_name' && $key != 'phone_number') {
unset($csv[$i][$key]);
}
}
}
insertGFAPI($csv);
}
function insertGFAPI($entries){
$count_entries = count($entries);
for ($i=0; $i < $count_entries; $i++) {
$data[$i]['input_1'] = $entries[$i]['email'];
$data[$i]['input_2'] = $entries[$i]['full_name'];
$data[$i]['input_3'] = $entries[$i]['phone_number'];
$result = GFAPI::submit_form( get_option('form-id'), $data[$i]);
}
Результат, который я хотел бы получить, довольно прост - я хочу знать, почему и как возможно, что submit_form()
объединяет данные из других циклов и как я могу предотвратить это.
Вы знаете, что я могу с этим сделать?