handlign custom prefill for paper brochure form

This commit is contained in:
Antoine M 2024-04-11 11:06:54 +02:00
parent 2607922c3e
commit 12acab05c3
2 changed files with 39 additions and 0 deletions

View File

@ -15,3 +15,4 @@ require_once(__DIR__ . '/includes/api.php');
require_once(__DIR__ . '/includes/wysiwyg.php');
require_once(__DIR__ . '/includes/search.php');
require_once(__DIR__ . '/includes/rooting.php');
require_once(__DIR__ . '/includes/forms.php');

38
includes/forms.php Normal file
View File

@ -0,0 +1,38 @@
<?php
add_filter('gform_pre_render_18', 'populate_posts');
add_filter('gform_pre_validation_18', 'populate_posts');
add_filter('gform_pre_submission_filter_18', 'populate_posts');
add_filter('gform_admin_pre_render_18', 'populate_posts');
function populate_posts($form)
{
foreach ($form['fields'] as &$field) {
if ($field->type != 'checkbox' || strpos($field->inputName, 'publication-list') === false) {
continue;
}
// you can add additional parameters here to alter the posts that are retrieved
// more info: http://codex.wordpress.org/Template_Tags/get_posts
$brochures_query = new WP_Query(array(
'post_type' => 'brochures',
'posts_per_page' => -1,
'post_status' => 'publish',
));
// $posts = get_posts('numberposts=-1&post_status=publish&post_type=brochures');
$choices = array();
foreach ($brochures_query->posts as $post) {
$choices[] = array('text' => $post->post_title, 'value' => $post->post_title);
}
// update 'Select a Post' to whatever you'd like the instructive option to be
$field->placeholder = 'Select a Post';
$field->choices = $choices;
}
return $form;
}