Redirigir una URL sin on_sent_ok en Contact Form 7

por | Dic 24, 2017 | Programación | 2 Comentarios

Redirigir una URL sin on_sent_ok en Contact Form 7
4.7 (93.33%) 3 votes

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 cuantas 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 guie en el proceso.

Daniel Torre

Daniel Torre

Emprendedor

Licenciado en Comunicación, me gusta mucho escribir, diseñar sitios web y de solucionar problemas de forma creativa y efectiva. Siempre dispuesto a tomar retos.

Siguientes Entradas:

Asignar Nameservers a un Dominio: Guía Rápida

    Cualquier dominio que tengamos necesita de los Nameservers para poder funcionar. De esta forma hacemos que nuestro dominio apunte al servidor en donde está nuestro sitio web. Así podemos contar de forma correcta con nuestra presencia en la red....

Tema Hijo: Como crearlos y modificarlos

  Un tema hijo en WordPress es una de las formas recomendadas para personalizar los temas. En especial cuando deseamos hacer cambios al código y que este perdure a pesar de las actualizaciones. Crearlos es sencillo. Ya sea mediante un plugin o de forma manual. Aquí te...

Usar WP-CLI para instalar y administrar WordPress

    El proyecto de WP-CLI ofrece una herramienta poderosa para poder administrar WordPress desde una línea de comandos. Este tipo de herramientas es de gran utilidad para quienes tienen acceso al shell de un servidor. Como es en el caso de los...

Como configurar y usar Cloudflare con WordPress

    Cloudflare es un servicio que nos permite hacer nuestro sitio web más rápido y seguro. Se trata de un proxy inverso, el cual a la vez funciona como cortafuegos en contra de ataques y red de entrega de contenido. Lo mejor de todo, es que...

Diagnosticar y Conocer la Velocidad de WordPress

    La velocidad de WordPress es importante si queremos que nuestro sitio web se posicione bien en los buscadores de internet. La velocidad de carga juega un papel muy importante en ello. Sin embargo, antes de realizar cualquier cambio, debemos...

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

¡Comparte lo que piensas!

Pin It on Pinterest

Share This