Come implementare un redirect alla pagina precedente dopo un modulo di ringraziamento

18 nov 2011, 04:56:27
Visualizzazioni: 14.9K
Voti: 1

Sto sviluppando un sito in WordPress (tema personalizzato) che include un semplice modulo di iscrizione via email. L'utente inserisce nome e indirizzo email e clicca sul pulsante di invio. Attualmente il cliente utilizza uno script tramite Bluehost, quindi preferisco ricreare la funzionalità piuttosto che usare un plugin per moduli.

Il modulo funziona correttamente. Dopo aver cliccato "invia", l'utente viene reindirizzato a una pagina "Grazie". Vorrei aggiungere un link "Torna alla pagina" dopo il messaggio "Grazie per esserti iscritto" che riporti l'utente alla pagina da cui è arrivato (il modulo sarà presente nella maggior parte delle pagine del sito).

Ho provato ad aggiungere questo al template:

<?php
$url = htmlspecialchars($_SERVER['HTTP_REFERER']);
echo "<a href='$url'>Torna alla Pagina</a>";
?>

ma genera un messaggio di errore perché ritorna a Bluehost invece che alla pagina originale.

Qualcuno può aiutarmi?

Grazie!

0
Tutte le risposte alla domanda 2
2

C'è una fantastica funzione chiamata wp_redirect(), che purtroppo non supporta ancora l'argomento "ultima pagina", ma spero che lo farà presto.

Credo che il modo più semplice (anche se non il più elegante) per ottenere ciò di cui hai bisogno sia utilizzare JavaScript, in jQuery apparirà così:

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

Non aggiornerà comunque l'ultima pagina, ma secondo me è persino meglio.

Spero ti sia utile.

18 nov 2011 05:34:33
Commenti

Grazie Wordpressor: era esattamente ciò di cui avevo bisogno! Apprezzo molto l'aiuto!

PVA PVA
22 nov 2011 19:56:38

@PVA, benvenuto a bordo.

Wordpressor Wordpressor
23 nov 2011 04:03:25
0

Utilizza un trucco della cronologia JavaScript per il pulsante indietro.

<a href="#" onClick="history.back();return false;">Torna alla pagina</a>

Ecco una discussione completa sul perché devi utilizzare un reindirizzamento JavaScript: https://stackoverflow.com/questions/8046859/how-to-trigger-browsers-back-event-function-using-javascript

Spero sia utile!

18 nov 2011 05:35:06