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

时间:2016-12-15 07:23:53

标签: javascript php wordpress

我已经实现了这两个插件:

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

这些插件存在冲突。

首先,客户端验证无效。

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

3 个答案:

答案 0 :(得分:1)

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

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

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

只需转到联系表单7中的“其他设置”标签,然后将其粘贴,不带任何前导空格,将您的成功页面网址替换为example.com。

答案 1 :(得分: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。&gt; var _wpcf7 = {“loaderUrl”:“/ wp-content / plugins / contact-form-7 / images / ajax-loader.gif”,“发送”:“正在发送。 ..“};   ]&GT;

现在位于插件目录中的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);



    } 

我已经在我的网站上修复了这个问题,希望这将有助于将来。

答案 2 :(得分:0)

functions.php 中使用以下代码(位于主题 - &gt; 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
}

完美地工作..