Estou tentando usar wp_redirect()
para redirecionar o usuário depois de enviar com êxito um formulário de inscrição na página.
Não está funcionando e mostra o seguinte erro:
Aviso: Não é possível modificar as informações do cabeçalho - os cabeçalhos já enviados por (saída iniciada em /Applications/MAMP/htdocs/theme/wp-content/themes/test/header.php:10) em / Aplicativos / MAMP / htdocs / theme / wp- inclui / pluggable.php na linha 1178
Entendo que já houve saída antes, é por isso que não está funcionando, mas não tenho idéia de como fazer isso funcionar.
O formulário de inscrição é renderizado por uma função e é enviado por outra função, dentro do meu functions.php.
if ( isset( $_POST['subscribe'] ) ) {
// Submits the form and should then redirect
wp_redirect("/thank-you/");
exit;
}
Em seguida, essas duas funções são usadas onde quero mostrar o formulário de inscrição.
Receio que não seja a melhor coisa a fazer. Eu deveria estar criando alguma ação que faça isso, mas não tenho idéia de como implementá-lo. A maioria dos tutoriais que encontrei mostra os resultados diretamente na mesma página e não requer um redirecionamento adicional. Talvez seja por isso que eles estejam trabalhando com funções dentro das functions.php
fonte
Você precisa usar
wp_redirect()
antes.get_header()
Então não será exibido o erro do cabeçalho.fonte
fonte
is_page_template()
ao redirecionar condicionalmente.você também pode fazer isso
Em vez da linha abaixo
wp_redirect ("$ url");
Escreva
ou
Definitivamente resolverá seu problema.
fonte