Есть ли способ создания / обновления полей опроса на основе типа контента? Например, у меня есть тип сообщения под названием Candidate
и я хотел бы динамически обновлять список опроса при добавлении нового кандидата или при его удалении.
Причина, по которой я ищу это, заключается в том, что я создаю механизм голосования для этого клиента, и они попросили, чтобы пользователи увидели изображение, имя и краткую биографию, за которую они голосуют. Моя идея состоит в том, чтобы связать имена, чтобы я мог выбрать скрытый опрос Gravity Form на странице, чтобы, когда избиратель нажимал, он обновлял соответствующий именованный флажок.
Я, конечно, могу добавить каждого кандидата по одному, а затем добавить каждого кандидата по одному в форме, но надеялся, что есть способ сделать это в коде. До сих пор я не нашел ничего, кроме фильтров, в документации Gravity Forms.
Повторим, мой вопрос здесь не в соединении веб-интерфейса, а в том, как динамически обновлять / добавлять опцию в поле опроса в форме при создании контента для Candidate
тип сообщения.
Любая помощь будет оценена.
Я считаю, что решение, которое вы ищете, задокументировано здесь:
Возможно, комбинация примеров решений № 1 и № 2 на этой странице подойдет вашим потребностям? Так —
Создайте категорию стандартных страниц WordPress (название категории: «Кандидаты»), и страницы будут содержать информацию о кандидате (биография, фото и т. Д.).
В вашем файле functions.php для вашей текущей темы, вы бы добавили что-то вроде следующего, чтобы вытащить ценность этой категории постов:
// modify form output for the public page
add_filter("gform_pre_render", "populate_checkbox");
// modify form in admin
add_filter("gform_admin_pre_render", "populate_checkbox");
function populate_dropdown($form) {
// some kind of logic / code to limit what form you're editing
if ($form["id"] != 1) { return $form; }
//Reading posts for "Business" category;
$posts = get_posts("category=" . get_cat_ID("Candidates"));
foreach ($form['fields'] as &$field) {
// assuming field #1, if this is a voting form that uses checkboxes
$target_field = 1;
if ($field['id'] != $target_field) { break; }
// init the counting var for how many checkboxes we'll be outputting
// there's some kind of error with checkboxes and multiples of 10?
$input_id = 1;
foreach ($posts as $post) {
//skipping index that are multiples of 10 (multiples of 10 create problems as the input IDs)
if($input_id % 10 == 0) { $input_id++; }
// here's where you format your field inputs as you need
$choices[] = array('text' => $post->post_title, 'value' => $post->post_title);
$inputs[] = array("label" => $post->post_title, "id" => "{$field_id}.{$input_id}");
// increment the number of checkboxes for ID handling
$input_id++;
}
$field['choices'] = $choices;
$field['inputs'] = $inputs;
}
// return the updated form
return $form;
}
Других решений пока нет …