Я хочу отредактировать вход формы по гравитации на фронте. Я хочу, чтобы он показал предыдущую добавленную запись в вложенной форме, когда мы редактируем гравитационную форму с Frontend. Я использовал ниже код, но он не работает по функции, когда я получаю вложенную запись формы. Но я не знаю, как установить его в таблице, чтобы отобразить предыдущую добавленную запись.
I USD ниже кода, но он не работает < /p>
add_filter('gform_pre_render_11', 'prefill_parent_form_data'); // Only for Form ID 11
add_filter('gform_pre_validation_11', 'prefill_parent_form_data');
add_filter('gform_pre_submission_filter_11', 'prefill_parent_form_data');
add_filter('gform_pre_render_12', 'prefill_nested_form_data'); // Only for Nested Form (Form 12)
add_filter('gform_pre_validation_12', 'prefill_nested_form_data');
add_filter('gform_pre_submission_filter_12', 'prefill_nested_form_data');
function prefill_parent_form_data($form) {
if (isset($_GET['entry']) && !empty($_GET['entry'])) {
$entry_id = absint($_GET['entry']);
$entry = GFAPI::get_entry($entry_id);
if (is_wp_error($entry) || $entry['form_id'] != 11) {
return $form; // Skip if wrong form
}
/*echo "";
print_r($entry);
echo "=============================";
print_r($form);*/
foreach ($form['fields'] as &$field) {
if ($field->type === 'name' && !empty($field->inputs)) {
foreach ($field->inputs as &$input) {
$sub_field_id = (string) $input['id'];
if (isset($entry[$sub_field_id])) {
$input['defaultValue'] = $entry[$sub_field_id];
}
}
}else if ($field->type === 'form' && isset($entry[$field->id])) {
$nested_form_field_id = 74;
$nested_form_entry_id = rgar($entry, $nested_form_field_id);
if ($nested_form_entry_id) {
$nested_form_entry = GFAPI::get_entry($nested_form_entry_id);
echo "";
print_r($nested_form_entry);exit;
if (!is_wp_error($nested_form_entry)) {
// Assuming nested form data is in fields 1 and 6 in nested form
$nested_field_1 = rgar($nested_form_entry, '1');
$nested_field_6 = rgar($nested_form_entry, '6');
// Create a table row with nested form data
$field->content = '
Nested Field 1
' . esc_html($nested_field_1) . '
Nested Field 6
' . esc_html($nested_field_6) . '
';
}
}
//$field->defaultValue = json_encode(array($nested_form_entry_ids));
}else if($field->type === 'checkbox'){
if ($field->type === 'checkbox' && isset($entry[$field->id])) {
$selected_inputs = maybe_unserialize($entry[$field->id]); // Get the selected options from entry
// If the entry has selected checkboxes
if (is_array($selected_inputs)) {
foreach ($field->inputs as $ky=>&$input) {
// Check if the input's ID is in the selected values from the entry
if (in_array($input['id'], $selected_inputs)) {
$field->choices[$ky]['isSelected'] = true; // Mark the checkbox as selected
} else {
$field->choices[$ky]['isSelected'] = false; // Mark the checkbox as not selected
}
}
}
} else {
foreach ($field->inputs as $ky=>&$input) {
if (isset($entry[$input['id']]) && $entry[$input['id']] != '') {
$field->choices[$ky]['isSelected'] = true;
} else {
$field->choices[$ky]['isSelected'] = false;
}
}
}
} else {
$value = rgar($entry, $field->id);
if (!empty($value)) {
$field->defaultValue = $value;
}
}
}
}
return $form;
}
function prefill_nested_form_data($form) {
if (isset($_GET['entry']) && !empty($_GET['entry'])) {
$parent_entry_id = absint($_GET['entry']);
$parent_entry = GFAPI::get_entry($parent_entry_id);
if (is_wp_error($parent_entry) || $parent_entry['form_id'] != 11) {
return $form;
}
// Find Nested Form Field in Parent Entry
foreach ($parent_entry as $field_id => $value) {
if (is_serialized($value)) {
$nested_entry_ids = maybe_unserialize($value);
if (is_array($nested_entry_ids)) {
foreach ($nested_entry_ids as $nested_entry_id) {
$nested_entry = GFAPI::get_entry($nested_entry_id);
if ($nested_entry && $nested_entry['form_id'] == 12) {
foreach ($form['fields'] as &$field) {
$field_id = $field->id;
if (isset($nested_entry[$field_id])) {
$field->defaultValue = $nested_entry[$field_id];
}
}
}
}
}
}
}
}
return $form;
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-person-a
Как показать вход редактирования в форме гравитации с вложенной формой, чтобы добавить несколько человек и показать в та ⇐ Php
Кемеровские программисты php общаются здесь
1738159416
Anonymous
Я хочу отредактировать вход формы по гравитации на фронте. Я хочу, чтобы он показал предыдущую добавленную запись в вложенной форме, когда мы редактируем гравитационную форму с Frontend. Я использовал ниже код, но он не работает по функции, когда я получаю вложенную запись формы. Но я не знаю, как установить его в таблице, чтобы отобразить предыдущую добавленную запись.
I USD ниже кода, но он не работает < /p>
add_filter('gform_pre_render_11', 'prefill_parent_form_data'); // Only for Form ID 11
add_filter('gform_pre_validation_11', 'prefill_parent_form_data');
add_filter('gform_pre_submission_filter_11', 'prefill_parent_form_data');
add_filter('gform_pre_render_12', 'prefill_nested_form_data'); // Only for Nested Form (Form 12)
add_filter('gform_pre_validation_12', 'prefill_nested_form_data');
add_filter('gform_pre_submission_filter_12', 'prefill_nested_form_data');
function prefill_parent_form_data($form) {
if (isset($_GET['entry']) && !empty($_GET['entry'])) {
$entry_id = absint($_GET['entry']);
$entry = GFAPI::get_entry($entry_id);
if (is_wp_error($entry) || $entry['form_id'] != 11) {
return $form; // Skip if wrong form
}
/*echo "";
print_r($entry);
echo "=============================";
print_r($form);*/
foreach ($form['fields'] as &$field) {
if ($field->type === 'name' && !empty($field->inputs)) {
foreach ($field->inputs as &$input) {
$sub_field_id = (string) $input['id'];
if (isset($entry[$sub_field_id])) {
$input['defaultValue'] = $entry[$sub_field_id];
}
}
}else if ($field->type === 'form' && isset($entry[$field->id])) {
$nested_form_field_id = 74;
$nested_form_entry_id = rgar($entry, $nested_form_field_id);
if ($nested_form_entry_id) {
$nested_form_entry = GFAPI::get_entry($nested_form_entry_id);
echo "";
print_r($nested_form_entry);exit;
if (!is_wp_error($nested_form_entry)) {
// Assuming nested form data is in fields 1 and 6 in nested form
$nested_field_1 = rgar($nested_form_entry, '1');
$nested_field_6 = rgar($nested_form_entry, '6');
// Create a table row with nested form data
$field->content = '
Nested Field 1
' . esc_html($nested_field_1) . '
Nested Field 6
' . esc_html($nested_field_6) . '
';
}
}
//$field->defaultValue = json_encode(array($nested_form_entry_ids));
}else if($field->type === 'checkbox'){
if ($field->type === 'checkbox' && isset($entry[$field->id])) {
$selected_inputs = maybe_unserialize($entry[$field->id]); // Get the selected options from entry
// If the entry has selected checkboxes
if (is_array($selected_inputs)) {
foreach ($field->inputs as $ky=>&$input) {
// Check if the input's ID is in the selected values from the entry
if (in_array($input['id'], $selected_inputs)) {
$field->choices[$ky]['isSelected'] = true; // Mark the checkbox as selected
} else {
$field->choices[$ky]['isSelected'] = false; // Mark the checkbox as not selected
}
}
}
} else {
foreach ($field->inputs as $ky=>&$input) {
if (isset($entry[$input['id']]) && $entry[$input['id']] != '') {
$field->choices[$ky]['isSelected'] = true;
} else {
$field->choices[$ky]['isSelected'] = false;
}
}
}
} else {
$value = rgar($entry, $field->id);
if (!empty($value)) {
$field->defaultValue = $value;
}
}
}
}
return $form;
}
function prefill_nested_form_data($form) {
if (isset($_GET['entry']) && !empty($_GET['entry'])) {
$parent_entry_id = absint($_GET['entry']);
$parent_entry = GFAPI::get_entry($parent_entry_id);
if (is_wp_error($parent_entry) || $parent_entry['form_id'] != 11) {
return $form;
}
// Find Nested Form Field in Parent Entry
foreach ($parent_entry as $field_id => $value) {
if (is_serialized($value)) {
$nested_entry_ids = maybe_unserialize($value);
if (is_array($nested_entry_ids)) {
foreach ($nested_entry_ids as $nested_entry_id) {
$nested_entry = GFAPI::get_entry($nested_entry_id);
if ($nested_entry && $nested_entry['form_id'] == 12) {
foreach ($form['fields'] as &$field) {
$field_id = $field->id;
if (isset($nested_entry[$field_id])) {
$field->defaultValue = $nested_entry[$field_id];
}
}
}
}
}
}
}
}
return $form;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79396984/how-to-show-edit-entry-in-gravity-form-with-nested-form-to-add-multiple-person-a[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия