Я использую https://wordpress.org/plugins/tangible-loops-and-logic/, чтобы показать список сообщений. Каждое сообщение также содержит форму Contact Form 7. В этой форме есть раскрывающийся список, который должен быть заполнен полем повторителя acf, прикрепленным к каждому сообщению.
Моя проблема в том, что для получения правильных значений мне нужно получить правильное сообщение. идентификатор для каждого сообщения. Я знаю, что могу создать динамическое поле в cf7 для отображения идентификатора сообщения, но я не совсем уверен, как его передать, чтобы получить правильный повторитель.
Мой цикл (упрощенно):
...
[contact-form-7 id="619" title="Seminar"]
Поле выбора моей формы:
[select termine data:gigs]
мой текущий код для получения идентификатора сообщения, который работал бы, если бы он был на одной странице сообщения, но, к сожалению, не в цикле, показывающем все сообщения на одной странице, как описано здесь https:/ /stackoverflow.com/a/71840727/6118046:
add_filter( 'wpcf7_form_tag_data_option', 'dd_filter_form_tag_data', 10, 3 );
function dd_filter_form_tag_data( $n, $options, $args ) {
// Get the current form.
$cf7 = wpcf7_get_current_contact_form();
// Get the form unit tag.
$unit_tag = $cf7->unit_tag();
// Turn the string into an array.
$tag_array = explode( '-', $unit_tag );
// The 3rd item in the array will be the page id.
$post_id = substr( $tag_array[2], 1 );
if ( in_array( 'gigs', $options, true ) ) {
$gigs = array();
if ( have_rows( 'termine', $post_id ) ) :
while ( have_rows( 'termine', $post_id ) ) :
the_row();
$gigs[] = get_sub_field( 'termin' );
endwhile;
endif;
$n = array_merge( (array) $n, $gigs );
}
return $n;
}
Подробнее здесь: https://stackoverflow.com/questions/718 ... o-cf7-form
Передать динамический идентификатор сообщения в форму cf7 ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Изменить автора сообщения после отправки формы — опубликовать мою форму CF7
Anonymous » » в форуме Php - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-