Может ли кто-нибудь указать мне, как извлекать значения из представленных форм, содержащих поля списка?
Я пытаюсь создать интерфейсную форму публикации с помощью Gravity Forms, а затем присваивать отправленные значения настраиваемым полям, созданным с помощью расширенных настраиваемых полей.
Для обычных полей это можно сделать следующим образом:
add_action("gform_after_submission_1", "acf_submission", 10, 2);
function acf_submission($entry, $form)
{
$post_id = $entry["post_id"];
update_field('field_###', $entry['#'], $post_id );
update_field('field_###', $entry['#'], $post_id );
update_field('field_###', $entry['#'], $post_id );
}
Где field _ ### - это ключ настраиваемого поля ACF, запись ['#'] - это идентификатор поля Gravity Forms, а $ post_id - это идентификатор сообщения, для которого вы хотите обновить / сохранить значения.
Использование entry ['#'] отлично работает с обычными полями (текст, абзац и т. Д.), Но поля списка (повторителя) хранятся немного по-другому. В БД значение выглядит следующим образом (для поля списка, которое имеет 3 поля (столбца), и для того, кто нажал кнопку добавления, чтобы добавить дополнительный экземпляр поля списка:
a:2:{i:0;a:3:{s:4:"Column 1 Name";s:7:"value input";s:6:"Column 2 Name";s:34:"value input";s:11:"Column 3 Name";s:24:"value input";}i:1;a:3:{s:4:"Column 1 Name";s:11:"value input";s:6:"Column 2 Name";s:19:"value input";s:11:"Column 3 Name";s:22:"value input";}}
Я не могу понять, как извлечь эти значения и назначить их полям ACF. Я попробовал ввести ['#. #'], Как вы это делаете для таких полей, как адрес, но это не сработало.