Гравитационные формы получают поля

Зарегистрированный пользователь заполняет форму несколько раз. Из его записей я пытаюсь получить все его входные данные для определенного поля и поместить их в массив PHP.

Для простоты предположим, что форма имеет идентификатор 10 с первым полем с именем SomeField, и пользователь вошел в систему (и все еще вошел в систему) для всех записей.

Вот моя лучшая попытка создать массив всех записей SomeField от пользователя:

get_currentuserinfo();
$searchCriteria = array(
    array(
        'key' => 'created_by',
        'value' => $current_user->user_login
    ),
    array(
        'key' => '1',
        'value' => 'SomeField'
    ),
);

$form = GFAPI::get_entries( 10, $searchCriteria );
echo print_r($form);

К сожалению, этот print_r отображает пустой массив. Я считаю, что мои критерии поиска как-то неверны.

2 ответа

Я обнаружил, что проще опустить второй параметр ($searchCriteria) и просто использовать, например, $form[0]['1'], который будет отображать первое поле первой записи указанной формы.

Я нашел с user23058230 отличное решение во втором ответе, я всегда получал последнюю форму, которая работала хорошо для новых регистраций, но не позже.

Предполагая, что здесь идентификатор формы номер 1, вы можете искать его с помощью for цикл с использованием entry_id который доступен в массиве логина пользователя как$current_user->entry_id

Никакой поисковый запрос не требуется, кроме формы, которую вы хотите вернуть - в этом случае форма #1.

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

Отличное решение, которое с добавлением этого кода решило мою проблему.

$form = GFAPI::get_entries( 1, '');

$what_i_want = 0;

    for( $i = 0; $i < count($form); $i++ ){

        if( $form[$i]['id'] == $current_user->entry_id ){

        // the item I want
        $what_i_want = $form[$i]['22'];

        //echo " I " . $form[$i]['id'] . " F " . $form[$i]['22'] . " i " . $i . " T " . $what_i_want . '<br />';

        break;
        }

    }
Другие вопросы по тегам