Как реализовать редирект назад на страницу после отправки формы
Я создаю сайт на WordPress (своя собственная тема), который включает простую форму подписки по email. Пользователь вводит имя и email, затем нажимает кнопку отправки. Клиент сейчас использует скрипт через Bluehost, поэтому я хочу воссоздать функционал без использования плагинов для форм.
Форма работает нормально. После нажатия "Отправить" пользователь перенаправляется на страницу "Спасибо". Я хотел бы добавить ссылку "Вернуться на страницу" после сообщения "Спасибо за подписку", которая будет возвращать пользователя на ту страницу, откуда он пришел (форма будет находиться на большинстве страниц сайта).
Пробовал добавить это в шаблон:
<?php
$url = htmlspecialchars($_SERVER['HTTP_REFERER']);
echo "<a href='$url'>Назад на страницу</a>";
?>
но это вызывает ошибку, так как перенаправляет обратно на Bluehost, а не на оригинальную страницу.
Кто-нибудь может помочь?
Спасибо!

Есть отличная функция под названием wp_redirect(), к сожалению, пока не поддерживающая аргумент "последней страницы", но я надеюсь, что это скоро изменится.
Я считаю, что самый простой (но не самый элегантный) способ достичь желаемого — использовать JavaScript. На jQuery это будет выглядеть так:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#back-link').click(function() {
history.go(-1)
});
});
</script>
<a href="#" id="back-link">Назад</a>
Этот код не обновляет последнюю страницу, но, на мой взгляд, это даже лучше.
Надеюсь, это поможет.

Используйте JavaScript-трюк с историей для кнопки "Назад".
<a href="#" onClick="history.back();return false;">Вернуться на страницу</a>
Вот полное обсуждение, почему нужно использовать JavaScript-редирект: https://stackoverflow.com/questions/8046859/how-to-trigger-browsers-back-event-function-using-javascript
Надеюсь, это поможет!
