联系表7和联系表7次的成功页面重定向插件冲突

问题描述:

我已经实现了这两个插件:联系表7和联系表7次的成功页面重定向插件冲突

  • 联系表7和
  • 联系表格7成功页面重定向。

这些插件发生冲突。

首先,客户端验证不起作用。

其次,成功后它不会重定向到成功页面。

如果你只是想在成功的消息时重定向用户,那么更好的方法是使用JavaScript钩子。

删除成功页面重定向插件。

on_sent_ok: "location = 'http://example.com/';" 

只是去其他设置选项卡中的联系表格7和粘贴此没有任何前导空格,与example.com替换您的成功页面的URL。

+0

确实成功阿贾克斯抛出302 exeption,除去成功页面重定向插件后重定向页面的HTML –

+0

你试过吗? @ManS。 –

+0

确实客户端想要坚持使用该插件 –

要在客户端验证工作,请把这些线footer.php

<script type='text/javascript' src='/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=3.5.2'></script> 



<script type='text/javascript' src='/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js?ver=3.40.0-2013.08.13'></script> 



<script type='text/javascript'> 

请自行复制的语法,这是CDATA> VAR _wpcf7 = { “loaderUrl”:“/ WP- content/plugins/contact-form-7/images/ajax-loader.gif“,”sending“:”Sending ...“}; ]]>

现在在您的cf7-success-page-redirects.php中,它位于插件目录中。

改变此功能

function cf7_success_page_form_submitted($contact_form) { 
$contact_form_id = $contact_form->id(); 

// Send us to a success page, if there is one 
$success_page = get_post_meta($contact_form_id, '_cf7_success_page_key', true); 
if (!empty($success_page)) { 
    $items = array(); 
    $items['mailSent'] = true; 
    $items['redirectLink'] =get_permalink($success_page); 
    echo wp_json_encode($items); 
    die(); 
} 

}

现在

在您的联系方式7插件发现的js文件夹的目录,并查找的script.php和替换这串代码。

else if (1 == data.mailSent) { 
     $responseOutput.addClass('wpcf7-mail-sent-ok'); 
     $form.addClass('sent'); 

     if (data.onSentOk) { 
      $.each(data.onSentOk, function(i, n) { eval(n) }); 
     } 

     $(data.into).trigger('wpcf7:mailsent'); 
     $(data.into).trigger('mailsent.wpcf7'); // deprecated 
     location.assign(data.redirectLink); 



    } 

我已经在我的网站上为客户解决了这个问题,希望这将有助于未来的人。

使用以下代码functions.php(位于主题 - > themeName文件夹中)。

把这个放在文件末尾。

add_action('wp_footer', 'mycustom_wp_footer'); 

function mycustom_wp_footer() { 
?> 
<script type="text/javascript"> 
document.addEventListener('wpcf7mailsent', function(e) { 
    var str = window.location.href; 
    if(str.includes("flp")){ 
     window.location.href = "http://www.WebsiteName.com/facebook-thank-you"; 
    } else if(str.includes("glp")){ 
     window.location.href = "http://www.WebsiteName.com/google-thank-you"; 
    } 
}, false); 
</script> 
<?php 
} 

正常使用..