На advanced custom fields и CF7 я пытаюсь сделать так, чтобы одна и та же форма после заполнения полей и успешной отправки формы перенаправляла бы на открытие различных пдф файлов.
<?php if ( have_rows( 'm_skachat_fajl' ) ) : ?>
<?php while ( have_rows( 'm_skachat_fajl' ) ) : the_row(); ?>
<div id="pamyatka-popap-<?php echo get_row_index(); ?>" class="pamyatka-popap" style="display: none; width: 460px;">
<?php echo do_shortcode( '[contact-form-7 id="19124" title="Скачать памятку"]' ); ?>
<?php $m_dobavit_knopku = get_sub_field( 'm_dobavit_knopku' ); ?>
<?php if ( $m_dobavit_knopku ) : ?>
<script>
jQuery(document).ready(function(){
document.addEventListener( 'wpcf7mailsent', function( event ) {
var id = event.detail.contactFormId;
if ( id == 19124 ) {
window.open("<?php echo esc_url( $m_dobavit_knopku['url'] ); ?>", '_blank');
}
}, false );
});
</script>
</div>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
Проблема в том, что так как скрипт Jquery для перенаправления дублируется, то само собой естественно запускается первый встречный, а не тот, который хотелось бы.
Подскажите, пожалуйста, можно ли как-то исправить ситуацию, не дублируя контактные формы?
Может быть какое-то условие, типа если мы находимся внутри fancybox с id="pamyatka-popap-<?php echo get_row_index(); ?>" - то скрипт внутри этого попапа запускается, а остальные игнорируются?
Или, может, есть какие-то другие решения данного вопроса?