Cómo codificar un redireccionamiento de vuelta a la página desde un formulario de agradecimiento

18 nov 2011, 04:56:27
Vistas: 14.9K
Votos: 1

Estoy construyendo un sitio en WordPress (con mi propio tema) que incluye un formulario simple de registro por email. La persona ingresa su nombre y dirección de email y presiona el botón de enviar. Actualmente el cliente usa un script a través de Bluehost, por lo que quiero recrearlo en lugar de usar un plugin de formularios.

El formulario funciona bien. Después de presionar "enviar", la persona es redirigida a una página de "Gracias". Me gustaría poder agregar un enlace "Volver a la página" después del mensaje "Gracias por registrarte" que los lleve de vuelta a la página en la que estaban (el formulario aparecerá en la mayoría de las páginas del sitio).

Intenté agregar esto a la plantilla:

<?php
$url = htmlspecialchars($_SERVER['HTTP_REFERER']);
echo "<a href='$url'>Volver a la Página</a>";
?>

pero genera un mensaje de error porque redirige a Bluehost, no a la página original.

¿Alguien puede ayudar?

¡Gracias!

0
Todas las respuestas a la pregunta 2
2

Existe una gran función llamada wp_redirect(), que desafortunadamente aún no soporta el argumento de "última página", pero espero que lo haga pronto.

Creo que la forma más fácil (aunque no la más elegante) de lograr lo que necesitas es utilizando JavaScript, en jQuery se vería así:

<script type="text/javascript">
   jQuery(document).ready(function() {
      jQuery('#back-link').click(function() {
         history.go(-1) 
       });
   });
</script> 
<a href="#" id="back-link">Volver atrás</a>

No recargará la última página, pero en mi opinión es incluso mejor.

Espero que te ayude.

18 nov 2011 05:34:33
Comentarios

¡Gracias Wordpressor: esto es exactamente lo que necesitaba! ¡Agradezco tu ayuda!

PVA PVA
22 nov 2011 19:56:38

@PVA, bienvenido a bordo.

Wordpressor Wordpressor
23 nov 2011 04:03:25
0

Usa un truco de historial de JavaScript para el botón de retroceso.

<a href="#" onClick="history.back();return false;">Volver a la página</a>

Aquí hay una discusión completa sobre por qué debes usar una redirección con JavaScript: https://stackoverflow.com/questions/8046859/how-to-trigger-browsers-back-event-function-using-javascript

¡Espero que te ayude!

18 nov 2011 05:35:06