Я пытаюсь использовать, wp_redirect()
чтобы перенаправить пользователя после успешной отправки формы регистрации на странице.
Это не работает и показывает следующую ошибку:
Предупреждение: невозможно изменить информацию заголовка - заголовки уже отправлены (вывод начался с /Applications/MAMP/htdocs/theme/wp-content/themes/test/header.php:10) в / Applications / MAMP / htdocs / theme / wp- включает / pluggable.php в строке 1178
Я понимаю, что раньше уже был вывод, поэтому он не работает, но я понятия не имею, как это сделать.
Форма регистрации обрабатывается функцией и отправляется другой функцией внутри моего functions.php.
if ( isset( $_POST['subscribe'] ) ) {
// Submits the form and should then redirect
wp_redirect("/thank-you/");
exit;
}
Затем обе эти функции используются там, где я хочу показать форму регистрации.
Боюсь, это не лучшая вещь. Я должен создать какое-то действие, которое делает это, но я не знаю, как это реализовать. Большинство учебных пособий, которые я нашел, показывают результаты непосредственно на той же странице и не требуют дополнительного перенаправления. Может быть, поэтому они работают с функциями внутри functions.php
Вы должны использовать
wp_redirect()
до.get_header()
Тогда это не будет отображать ошибку заголовка.источник
источник
is_page_template()
при условном перенаправлении.Вы также можете сделать это
Вместо строки ниже
wp_redirect ( "$ URL");
записывать
или
Это определенно решит вашу проблему.
источник