Enrique J. Ros

Personalizar la página de gracias de un formulario con el nombre

Si alguna vez te has puesto en contacto conmigo a través de mi formulario de contacto habrás visto que, tras enviar el formulario, te redirige a una página en la que te doy las gracias… llamándote por tu nombre. Curiosamente han sido dos las personas que me han preguntado en la última semana cómo hacer eso, así que aquí va un detallado paso a paso explicando cómo personalizar la página de gracias de un formulario con el nombre de quien lo envía.

Cómo personalizar la página de gracias

La idea es simple: ya que el usuario nos ha dado su nombre en el campo correspondiente del formulario de contacto, ¿por qué no usarlo para personalizar nuestro contenido? Lo que vamos a hacer es dirigirle a la página de agradecimiento, pero al darle las gracias le llamaremos por su nombre.

Técnicamente es sencillo: haremos que, cuando el formulario realice la redirección a la página de agradecimiento, añada al final de la URL de ésta lo que el usuario haya puesto en el campo destinado al nombre, como una variable.

Es decir, si el submit del formulario redirige a http://www.tuwebsuperchula.com/contacto/gracias/, lo que haremos es que redirija en realidad a http://www.tuwebsuperchula.com/contacto/gracias/?nombre=Nombre, donde Nombre es lo que el usuario ha rellenado en el campo correspondiente del formulario.

Una vez en la página de agradecimiento recuperaremos el valor de esa variable (por el método GET) y la mostraremos en nuestro mensaje de agradecimiento. ¿Parece complicado? ¡Pues en absoluto lo es! Vamos a verlo paso a paso, con Gravity Forms y con Ninja Forms (ambos plugins nos permiten hacer esto sin dificultad) y verás lo fácil que es.

Personalizar la página de gracias con Gravity Forms

En realidad ya he hablado anteriormente de cómo hacer esto con Gravity Forms (aunque con otro objetivo) cuando expliqué cómo pasar datos entre dos formularios con este plugin.

El sistema es el mismo. Una vez creado el formulario nos vamos al apartado Confirmaciones y seleccionaremos que queremos utilizar una confirmación de tipo Página, estableciendo en el desplegable la página de agradecimiento.

De esta forma, cuando el usuario envíe el formulario, será dirigido a esa página. Para que el nombre se vaya con él tenemos que activar la opción Pasar datos de los campos vía Query String, y en el campo para poner la query string ponemos nombre={NombreCampo:ID}.

Para ayudarte con el nombre del campo y su identificador puedes pulsar el icono que hay a la derecha. Es sencillo, pero así explicado quizá no se entienda del todo bien. Si no te aclaras, puedes verlo paso a paso en el vídeo al final de esta entrada.

Con esto terminamos de configurar Gravity Forms, y podríamos pasar a preparar la página de gracias.

Recuerda que puedes descargar gratuitamente Gravity Forms, periódicamente actualizado, desde el área de suscriptores de la web si estás suscrito a los plugins (+info)

Personalizar la página de agradecimiento con Ninja Forms

El proceso en Ninja Forms es bastante similar, ya que lo que hay que conseguir es lo mismo; la magia esta vez se produce en el apartado Emails y acciones de la configuración del formulario.

Lo que haremos será añadir una nueva acción del tipo Redirigir y, en la URL, poner la dirección de la página de gracias, añadiendo al final ?nombre= y, con ayuda del cuadro de la derecha, seleccionar el campo correspondiente al nombre.

De nuevo, si no te aclaras bien con la explicación tienes al final un vídeo paso a paso.

Mostrar el nombre de quien envió el formulario en la página de gracias

Una vez configurado el formulario para que envíe el nombre a la página de gracias, ya sólo queda configurar esta página para recibir el dato y mostrarlo en el mensaje de agradecimiento.

Esto lo vamos a hacer con PHP, así que necesitaremos ejecutar código dentro del contenido. Para ello puedes utilizar el plugin Insert PHP que permite precisamente eso, ejecutar código PHP dentro de cualquier tipo de contenido de WordPress (páginas, entradas, productos…) con sólo encerrarlo entre los shortcodes [insert_php][/insert_php].

Con esto ya es muy sencillo personalizar el mensaje. Basta capturar el nombre en una variable con:

$nombre = $_GET['nombre'];

y luego mostrarlo en la parte del mensaje que quieras que aparezca con:

echo $nombre;

Si lo ponemos todo junto, incluyendo una comprobación adicional para verificar que efectivamente el nombre se ha pasado y capturado correctamente, puede salir algo así:

¡Gracias por contactar [insert_php] if(strlen($nombre = $_GET['nombre'])) echo ', '.$nombre; [/insert_php] !

Prueba de concepto

Para que lo veas todo en funcionamiento, puedes añadir ?nombre=tu_nombre a la dirección de esta página, y verás aparecer un mensaje personalizado aquí a continuación (ejemplo):

Vídeo: personalizar la página de gracias de un formulario

Aquí lo tienes todo paso a paso, para que puedas realizarlo sin dificultado. Primero configuramos Grivity Forms, después Ninja Forms y por último la página de agradecimiento. Al final del vídeo puedes ver los dos formularios personalizados en funcionamiento:

Salir de la versión móvil