正如大家知道的那样,CF7 on_sent_ok
命令已被弃用并计划在2017年底之前废除。所以我决定使用新脚本将我的联系表单重定向到CF7提供的这个脚本
function add_this_script_footer(){ ?>
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
location = 'http://websiteurl/thank-you';
}, false );
</script>
<?php }
add_action('wp_footer', 'add_this_script_footer');
但这适用于所有联系表格。由于我使用的是不同类型的表单,我是否可以知道如何从这个重定向中排除其中一个?
答案 0 :(得分:0)
尝试以下脚本:
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
if (event.detail.contactFormId != '123') { // This would exclude form with id 123
location = 'http://websiteurl/thank-you';
}
}, false );
</script>
奖金提示:我经常以另一种方式使它更加灵活。我将<div class="do-some-action" data-something="foobar" style="display:none;"></div>
放在CF7表单本身中,然后根据需要将其添加为多种形式。
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
var $cf = $( '#' + event.detail.id );
var $actionDiv = $cf.find( '.do-some-action' );
if ( $actionDiv && $actionDiv.length ) {
// Div with action class found
// We can also extract some data if needed
var something = $actionDiv.data( 'something' );
console.log( 'something = ' + something );
location = 'http://websiteurl/thank-you';
}
}, false );
</script>
我希望这会有所帮助!