Redirigir una URL sin on_sent_ok en Contact Form 7

por Dic 24, 2017Programación2 Comentarios

A mediados de año se informó que on_sent_ok en Contact Form 7 seria ya obsoleto. Esto es importante para quienes usan este plugin en WordPress. Esta opción será borrada a finales de 2017. Aquí hay algunas soluciones si aún haces uso de esta opción. Junto con on_sent_ok, la opción on_submit también será removida. Ya que fue considerada obsoleta.

La recomendación es que ahora se usen los eventos DOM para reemplazar las acciones deseadas. Esto puede ser un poco engorroso al principio. Pero si se hace correctamente, se puede contar con cambios que requieren poco mantenimiento.

Como reemplazar on_submit y on_sent_ok en Contact Form 7

La mejor forma de reemplazar esas opciones es el agregar un script al pie de página.

Esto se puede hacer de muchas maneras. Pero la forma adecuada es haciendo uso del hook wp_footer. Así podríamos redirigir a los visitantes haciendo uso de un script como el siguiente:

Mismo que debería de ser agregado al archivo functions.php del tema usado, recordando hacerlo en un tema hijo. O en su defecto como un plugin. Esto con la finalidad de que los cambios perduren.

Si necesitamos redirigir diferentes formularios a diferentes páginas, se puede solucionar de la siguiente manera:

Así existirá una condición para cada uno de los formularios deseados. En donde el ID lo obtendremos del shortcode que vemos en Contact Form 7. De esta forma podremos enviar a una url diferente dependiendo del formulario rellenado.

Hacer seguimiento sin on_sent_ok en Contact Form 7 con Google Analytics

Si ya tenemos instalado Google Analytics, es posible registrar un evento cuando el formulario sea enviado. Para hacerlo, deberemos de cambiar ligeramente el código para que se vea de la siguiente manera:

De esta manera enviaremos a Google Analytics un evento en el cual se ha enviado un formulario de contacto. Así podremos realizar el seguimiento de cuántas veces ha sucedido.

Haciendo el cambio de on_sent_ok en Contact Form 7

Como se pudo observar, el actualizar el código para seguir haciendo el tracking es realmente sencillo. No hace falta más que algunas pocas líneas de código adicionales.

Así se podrá reemplazar el código y se mantendrá la funcionalidad deseada. Sin embargo, a veces esto puede complicarse.

Es por ello que a veces puede ser deseable el contratar a un experto para que le ayude. O al menos para que le indique cómo solucionar problemas y guíe en el proceso.

2 Comentarios

  1. Carlos Díaz

    Daniel buen día. he visto tu post acerca de redirigir a otra pagina luego del envío de un formulario de contact form.
    Pero hay algo que no entiendo… en el código donde haces la re dirección de la pagina luego de hacer el envío aparece la URL correspondiente; pero luego cuando dices para hacer el seguimiento por google analitics, ahí no aparece nada de una url para redireccionar… luego, no entiendo si lo que debo hacer es agregar 2 funciones, con dos nombres distintos para los dos codigos en functions.php. Me puede aclarar por favor

    Responder
    • Daniel Torre

      Oh, en el segundo ejemplo es solo si «quieres realizar el seguimiento», cuando el usuario haga clic en enviar. Es posible «hacer el seguimiento» y redireccionar, pero es plausible que obtengas resultados no deseados.

      Por ejemplo, para lograrlo, puedes renombrar la segunda función (y el llamado al hook) para que re realice. O también puedes agregar la función «ga( ‘send’, ‘event’, ‘Forma de Contacto’, ‘submit’ );» antes de las comparaciones «if» en el primer ejemplo. Así, debería de registrar el evento y entonces redireccionar.

      Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada.

Pin It on Pinterest

Share This