Estoy intentando utilizar wp_redirect()
para redirigir al usuario después de enviar correctamente un formulario de registro en la página.
No funciona y muestra el siguiente error:
Advertencia: no se puede modificar la información del encabezado: los encabezados ya enviados por (salida iniciada en /Applications/MAMP/htdocs/theme/wp-content/themes/test/header.php:10) en / Applications / MAMP / htdocs / theme / wp- incluye / pluggable.php en línea 1178
Entiendo que ya ha habido salida antes, por eso no funciona, pero no tengo idea de cómo hacer que esto funcione.
El formulario de registro se representa mediante una función, y lo envía otra función, dentro de my functions.php.
if ( isset( $_POST['subscribe'] ) ) {
// Submits the form and should then redirect
wp_redirect("/thank-you/");
exit;
}
Luego, ambas funciones se usan donde quiero mostrar el formulario de registro.
Me temo que no es lo mejor que se puede hacer. Debería crear alguna acción que haga eso, pero no tengo idea de cómo implementar eso. La mayoría de los tutoriales que encontré muestran los resultados directamente en la misma página y no requieren una redirección adicional. Quizás es por eso que están trabajando con funciones dentro de functions.php
fuente
Tiene que usar
wp_redirect()
antes.get_header()
Entonces no mostrará el error de encabezado.fuente
fuente
is_page_template()
cuando se redirige condicionalmente.también puedes hacer esto
En lugar de la línea de abajo
wp_redirect ("$ url");
escribir
o
Definitivamente resolverá tu problema.
fuente