WordPress - Reescribir dinamicamente contenido página mediante parametros en url

 
Vista:
sin imagen de perfil

Reescribir dinamicamente contenido página mediante parametros en url

Publicado por Rafael (1 intervención) el 28/09/2016 15:13:17
Buenas a todos. En primer lugar, agradecer de antemano vuestra ayuda: no soy muy dado a pedir, sino más bien a resolver por mi cuenta, pero tengo una duda técnica que me corroe y no sé cómo resolver.

La cuestión es que tengo una página en Wordpress, con una serie de viajes, y cada viaje tiene insertado un formulario de contacto específico (porque varía en función de las fechas del calendario, alojamientos a escoger, etc.). El plugin utilizado es “Contact Form 7”.

Ahora queremos dar la opción de que las personas puedan reservar directamente, lo que implica además facilitar los datos de cada uno de los viajeros. Es decir, habría como un botón de reservar directamente, lo que le dirigiría a otra página sólo con el formulario y con las mismas opciones que el anterior pero añadiendo además los casilleros para introducir los datos de cada viajero.

El primer objetivo es no tener que duplicar todos los formularios con la versión para reservar. Eso lo he conseguido mediante el plugin “Contact Form 7 Conditional Fields”; es decir: toda la información sobre el número de viajeros está ya incluida, pero no se muestra si uno de los campos no vienen relleno con el texto “Reservar el viaje”. Luego, cuando pinchas en “Quiero reservar el viaje” te manda a otra página con el mismo formulario pero en la que, automáticamente, se rellena mediante parámetros en el enlace el texto que permite desocultarlo todo, de esta forma:

Viaje-para-reservar/?encabezado=Reservar%20el%20viaje

Ahora viene el segundo problema, que no sé cómo resolver. La página de destino únicamente tiene como contenido el shortcode del formulario, de esta forma:

[contact-form-7 id="001" title="Viaje 1"]

Y me encuentro que, salvo que se me ocurra otra cosa, voy a tener que hacer una página por cada formulario, lo que me parece un engorro. Mi pregunta es si se puede “reescribir” dinámicamente el contenido de la página mediante parámetros, de forma que si pongo en el enlace:

Viaje-para-reservar/?encabezado=Reservar%20el%20viaje?formulario=001

La página de destino tenga este código:

[contact-form-7 id="001" title="Viaje 1"]

Y si se indica esta otra url por ejemplo:

Viaje-para-reservar/?encabezado=Reservar%20el%20viaje?formulario=002

La página de destino tenga este código:

[contact-form-7 id="002" title="Viaje 1"] (el title= es a modo orientativo, no influye que no se cambie)

Todo esto se me ha ocurrido, pero no sé cómo formalizarlo para no tener que crear una página específica para cada shortcode, pero obviamente estoy abierto a cualquier sugerencia.

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Mostrar formularios de reserva dinámicamente

Publicado por Alejandro (169 intervenciones) el 09/04/2024 17:54:36
Una posible solución para mostrar formularios de reserva dinámicamente en WordPress es utilizar el plugin "Contact Form 7" junto con parámetros en los enlaces.

Aquí está la solución paso a paso:

1. Instala y activa el plugin "Contact Form 7" en tu sitio de WordPress.

2. Crea los formularios de reserva que deseas utilizar en diferentes páginas. Por ejemplo, puedes tener un formulario con el ID "001" y otro con el ID "002".

3. En la página de destino donde deseas mostrar el formulario de reserva, utiliza el shortcode del formulario correspondiente. Por ejemplo, si deseas mostrar el formulario con el ID "001", utiliza el siguiente shortcode:

[contact-form-7 id="001" title="Viaje 1"]

4. Ahora, para mostrar diferentes formularios en la misma página de destino, puedes utilizar parámetros en los enlaces. Por ejemplo, si deseas mostrar el formulario con el ID "001", puedes utilizar la siguiente URL:

Viaje-para-reservar/?encabezado=Reservar%20el%20viaje&formulario=001

5. En la página de destino, puedes utilizar código PHP para obtener el valor del parámetro "formulario" de la URL y utilizarlo dinámicamente en el shortcode del formulario. Aquí tienes un ejemplo de cómo hacerlo:

1
2
3
4
5
6
<?php
$formulario = $_GET['formulario']; // Obtener el valor del parámetro "formulario" de la URL
 
// Utilizar el valor obtenido en el shortcode del formulario
echo do_shortcode('[contact-form-7 id="' . $formulario . '" title="Viaje 1"]');
?>

De esta manera, la página de destino mostrará el formulario correspondiente según el valor del parámetro "formulario" en la URL.

Recuerda que esta solución requiere conocimientos básicos de programación y es posible que necesites ajustarla según tus necesidades específicas. Si no te sientes cómodo realizando estos cambios, te recomendaría buscar la ayuda de un desarrollador de WordPress para implementar esta solución de manera adecuada.

Espero que esta solución te sea útil. ¡Buena suerte, Rafael!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar