我已经实现了这两个插件:
- 联系表7和
- 联系表7成功页面重定向。
这些插件是冲突。
首先,客户端验证不起作用。
其次,成功并没有重定向到成功页面。
如果您只想在成功消息后重定向用户,那么更好的方法就是使用JavaScript钩子。
删除成功页面重定向插件。
on_sent_ok: "location = 'http://example.com/';"
只需转到"联系表7"中的其他设置选项卡,并在没有任何领先空间的情况下将其粘贴,请用example.com替换您的成功页面。
要在客户端验证上工作,请将这些行放入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
}
工作完美。
如果您希望在成功提交消息时重定向用户,则更有效的方法是使用JavaScript钩子。
您可以删除成功页面重定向插件,然后使用以下代码:
on_sent_ok: "location = 'http://example.com/';"
只需导航到联系表7中的"其他设置"选项卡并粘贴此代码,而无需任何领先空间。请务必替换"示例"。在您想要的成功页面网址。
如果您想了解有关这些设置的更多信息,只需在此处检查联系表7官方文档。
但是,如果您需要具有更高级自定义的非代码解决方案,例如'redirect&amp;在新标签中打开,"有条件重定向","重定向到WhatsApp"或" Pass值",然后我建议尝试使用触点7插件。