Гравитационные формы & amp; Get_Posts — несколько полей в одной форме отображаются некорректно

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

Мне нужно заполнить несколько полей флажков в одной форме с различными категориями сообщений.

Приведенный ниже код работает для заполнения полей. Однако поле id 8 заполняет категорию 5-7 лет, а также свою собственную назначенную категорию +, это продолжается и с полем 9.

//NOTE: update the '12' to the ID of your form
add_filter( 'gform_pre_render_12', 'populate_checkbox' );
add_filter( 'gform_pre_validation_12', 'populate_checkbox' );
add_filter( 'gform_pre_submission_filter_12', 'populate_checkbox' );
add_filter( 'gform_admin_pre_render_12', 'populate_checkbox' );
function populate_checkbox( $form ) {

foreach( $form['fields'] as &$field )  {

//NOTE: replace 4 with your checkbox field id
if ( !in_array( $field->id, array( 4, 8, 9 ) ) ) {
continue;
}

// you can add additional parameters here to alter the posts that are retrieved
// more info: [http://codex.wordpress.org/Template_Tags/get_posts](http://codex.wordpress.org/Template_Tags/get_posts)
switch( $field->id ) {
case 4:
$posts = get_posts( 'numberposts=-1&post_status=any&category_name=5-7 Years' );
break;
case 8:
$posts = get_posts( 'numberposts=-1&post_status=any&category_name=8-11 Years' );
break;
case 9:
$posts = get_posts( 'numberposts=-1&post_status=any&category_name=Adults' );
break;
}
$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++;
}

$choices[] = array( 'text' => $post->post_title, 'value' => $post->post_title );
$inputs[] = array( 'label' => $post->post_title, 'id' => "{$field_id}.{$input_id}" );

$input_id++;
}

$field->choices = $choices;
$field->inputs = $inputs;

}

return $form;
}

Вот пара скриншотов, чтобы проиллюстрировать, что происходит и что я пытаюсь сделать:

http://carlyspicer.com/wp-content/uploads/2016/10/gravity-update-screenshot.jpg

http://carlyspicer.com/wp-content/uploads/2016/10/gravity-update-screenshot-2.jpg

У вас есть предложения, чтобы это исправить?

Заранее спасибо за помощь!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]