WORDPRESS : Solve problem with ” Contact form 7 “, “Additional Settings” update and WPML
From some months, if you had set additional settings, on “additional settings” panel in ” Contact Form 7 ” , when you update the plugin, had an error:
This epends because the Javascript code for some of this additional settings is deprecated. ( if you don’t see any error notification , never mind, the actions you using aren’t deprecated ).
First of all remove the code in ” Additional Settings ” tab.
Second, open your function file from your theme and paste this code ( in this example use code for redirect on thank you page after submit ).
if you have only one form:
add_action( 'wp_footer', 'mycustom_wp_redirect' );
function mycustom_wp_redirect() {
?>
<script type="text/javascript">
document.addEventListener( 'wpcf7mailsent', function( event ) {
location = 'http://yourdomain.it/tanks-page-contatti/';
}, false );
</script>
<?php
}
If you want targeting a specific form:
add_action( 'wp_footer', 'mycustom_wp_redirect' );
function mycustom_wp_redirect() {
?>
<script type="text/javascript">
document.addEventListener( 'wpcf7mailsent', function( event ) {
if ( '133' == event.detail.contactFormId ) {
location = 'http://yourdomain.it/tanks-page-contatti/';
}
}, false );
</script>
<?php
}
If you have a simple form , without multi language ( in my case language are managed with WPML )That’s all.
If you try your form, you can see that work’s fine ( as before ).
If you use “WPML”, there’s something more to do.
Open your function.php, and change the before code :
add_action( 'wp_footer', 'mycustom_wp_redirect' );
function mycustom_wp_redirect() {
?>
<script type="text/javascript">
document.addEventListener( 'wpcf7mailsent', function( event ) {
if ( '133' == event.detail.contactFormId ) {
location = 'http://yourdomain.it/tanks-page-contatti/';
}else if ( '274' == event.detail.contactFormId ) {
location = 'http://yourdomain.it/en/thanks-for-contacting-us/';
}else if ( '134' == event.detail.contactFormId ) {
location = 'http://yourdomain.it/grazie-per-esserti-iscritto/';
}else if ( '272' == event.detail.contactFormId ) {
location = 'http://yourdomain.it/en/thank-you-for-signing-up/';
}
}, false );
</script>
<?php
}
With this method you can add different thank you page for different language.
That’s all