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.
Tabla de contenidos
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.
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.
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
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):
¡Gracias por probar, estimado lector!
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:
Julián dice
Hola gracias por el vídeo me ha servido sin embargo tengo un problema, estoy intentando pasar una variable tipo numérica del gravity forms tipo «Total» de la sección de campos de producto, este se llena según las opciones que le ponga y me arroja el valor mientras lleno el formulario, el lio es que al pasarlo como indicas en tu vídeo el valor pasa en ceros siempre. Sabrías como arreglar esto?. Muchas gracias de antemano
Miguel dice
Impecable!
Lo único que hice diferente fue utilizar otro plugin para insertar el PHP. En vez de insert php (que me paredcio que tiene otras cosas que no necesito) instalé este otro: https://wordpress.org/plugins/insert-php-code-snippet/
Y funcionó perfecto.
Gracias!
RODOLFO SEALES POSADA dice
Hola Enrique como estas? Muy interesante el tema y algo parecido a lo que busco… Como se hace que los datos de el usuario, NO LOGUEADO, sino quien refiere a alguien a visitar un sitio aparezcan en especia a una pagina de aterrizaje pero personalizada. Digamos que la pagina es tuya, y diga, Bienvenido a la pagina o sitio web de ENRIQUE J ROS, etc etc etc,,, y es amisma pagina sea dinaica para servirle a cualquier persona que se registre en el sitio. ejemplo si me registro yo, y doy mi enlace de esa pagina, aparezca Bienvenido a la Pagina de rODOLFO SEALES,, y el resto de contenido sea igual? Es para crear un sitio de Landing Pages para usuarios y que su pagina muestre sus nombres. Tienes algun codigo o enlaces sobre el tema? Gracias pro la atencion.