Контактная форма 7 - Перенаправление на другую страницу - PullRequest
0 голосов
/ 27 марта 2020

У меня есть две формы на моем сайте WordPress. Мне нужно перенаправить пользователей на другую страницу после отправки только одной формы. Поэтому попытался с этим javascript если условие с контактной формой 7 ID.

 document.addEventListener( 'wpcf7mailsent', function( event ) { 
    setTimeout(function(){
        location = 'https://example.com/';
    }, 2500);
}, false );

Вышеуказанный код применяется ко всем страницам, поэтому я изменил его, если условие таким образом.

document.addEventListener( 'wpcf7mailsent', function( event ) { 
  if('2168' == event.detail.contactFormId){
    setTimeout(function(){
        location = 'https://example.com/';
    }, 2500)  } ;
}, false );

Но на удивление это не сработало. Есть идеи?

Ответы [ 2 ]

1 голос
/ 27 марта 2020

Вышеуказанный код применяется ко всем страницам, поэтому я изменил его, если условие таким образом.

это неэффективно, вы должны ориентироваться на страницу, где отображается ваша форма, используя:

add_filter('do_shortcode_tag',  'redirect_form_script', 10,3);
function redirect_form_script($output, $tag, $attrs){
    //check this is your form, assuming form id = 1, replace it with your id.
    if($tag != "contact-form-7" || $attrs['id']!= 2168) return $output;
    $script = '<script>'.PHP_EOL;
    $script .= 'document.addEventListener( "wpcf7mailsent", function( event ){'.PHP_EOL;
    //add your redirect page url.
    $script .= '    location = "http://example.com/submitted/?cf7="'.PHP_EOL;
    $script .= '  }'.PHP_EOL;
    $script .= '</script>'.PHP_EOL;
    return $output.PHP_EOL.$script;
  }
0 голосов
/ 30 марта 2020

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...