У меня есть два поля выбора в этой пользовательской форме гравитации, с которыми я боролся. Первое поле — это список вебинаров. Второе поле представляет собой список дат вебинара. Какие даты показывать, зависит от того, какой вебинар вы выберете. Я планирую отсортировать этот список с помощью jQuery, но для этого мне нужно добавить атрибут к параметрам выбора в поле выбора дат вебинара. В настоящее время я не могу понять, как изменить функцию выбора параметров GF. Вот как сейчас выглядит моя пользовательская функция:
//Populate Webinars form field for Webinar dates
add_filter( 'gform_pre_render_2', 'populate_webinar_dates' );
function populate_webinar_dates( $form ) {
foreach( $form[ 'fields' ] as &$field ) {
if( $field[ 'type' ] != 'select' || strpos( $field[ 'cssClass' ], 'populate-dates' ) === false )
continue;
$posts = new WP_Query( 'numberposts=-1&post_status=publish&post_type=vtl_webinar' );
$choices = '<option value=" ">Select a date</option>';
while ( $posts->have_posts() ) : $posts->the_post();
while ( has_sub_field( 'dates_available' ) ) :
$post_dates = array( 'date' => get_sub_field( 'date' ) );
$post_title = array( 'name' => str_replace( " ", "-", get_the_title() ) );
//$choices[] = array( 'text' => $post_dates['date'], 'value' => $post_dates['date'] );
$choices = '<option value="' . $post_dates['date'] . '" data-id="' . $post_title . '">' . $post_dates['date'] . '</option>';
endwhile;
endwhile;
$field[ 'choices' ] = $choices;
}
return $form;
}
Очевидно, эта строка не работает:
$choices = '<option value="' . $post_dates['date'] . '" data-id="' . $post_title . '">' . $post_dates['date'] . '</option>';
Ожидаются параметры, аналогичные форме с комментариями над этой строкой, но вы не можете просто добавить свои собственные атрибуты в эту строку. Вы должны работать в соответствии с существующим набором параметров, которые ищет GF. Может ли кто-нибудь помочь мне с этим? Мне просто нужно получить атрибут данных в опциях.