Como redireccionar a la thank you page en Contact form 7 a partir de la versión 7.5

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on email

Tabla de contenidos

Hasta la versión 7.5 de Contact form 7, si queríamos redireccionar el formulario a una página de gracias o thank you page, podíamos utilizar un código personalizado dentro de la pestaña Ajustes adicionales.

Añadíamos algo así:

on_sent_ok: «location = ‘/nuestra-thankyoupage/’;»

Redirección a partir de la versión 7.5 de Contact form 7

Sin embargo, a partir de esta versión, la opción de on_sent_ok en Ajustes adiciona.es ha quedado obsoleta y es necesario sutituir por otra.

Desde Contact Form 7 aconsejan sutituir on_sent_ok por un DOM event dentro del archivo functions.php de nuestro tema.

on_sent_ok: "ga( 'send', 'event', 'Contact Form', 'submit' );"

Ejemplo de redirección a thank you page

Aquí tienes un ejemplo para una página con varios formularios:

add_action( 'wp_footer', 'mycustom_wp_footer' );
 
function mycustom_wp_footer() {
?>
<script type="text/javascript">
document.addEventListener( 'wpcf7mailsent', function( event ) {
if ( 'idform' == event.detail.contactFormId ) { // Sends sumissions on form idform to the first thank you page
location = '/thank-you-page-1/';
} else if ( 'idform' == event.detail.contactFormId ) { // Sends submissions on form idform to the second thank you page
location = '/thank-you-page-2/';
} else { // Sends submissions on all unaccounted for forms to the third thank you page
location = '/thank-you-page-3/';
}
}, false );
</script>
<?php
}

Este ejemplo contempla tres casos:

  1. Si tienes un solo caso, deja un if.
  2. Si tienes dos dejas if y el else if.
  3. Y si quieres redireccionar independientemente del formulario, utiliza else.

No te olvides de sustituir:

  • idform por el id correspondiente
  • /thank-you-page-1//thank-you-page-2//thank-you-page-3/, por tus páginas de gracias correspondientes.
Share on facebook
Share on google
Share on twitter
Share on linkedin

Una respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *