Quiero usar este código en un archivo de plantilla:
if ( wp_is_mobile() ) {
wp_redirect( "/shop-mobile", $status );
}
pero dice: encabezado ya enviado por /filewithcode en …/wp_includes/pluggable.php en la línea 1196
Traté de limpiar el documento conectable de los espacios… ¿qué más podría ser el problema aquí? Gracias
evexoio
“Para solucionar el problema de los “encabezados ya enviados”, debe mover todo el procesamiento de su formulario desde la parte inferior de la página hasta la parte superior de la página. Si necesita llamar a wp_redirect(), debe hacer esa llamada antes de imprimir cualquier cosa. – HTML o cualquier otra cosa – a la página”.
Puedes leer esto para obtener más explicaciones sobre este problema.
Cómo corregir el error “Encabezados ya enviados” en PHP
-
¡Gracias! muy sencillo
– tiadotdev
25 de noviembre a las 17:08
Dominio
Asegúrese de que el código sobre la función wp_redirect aún no haya enviado la información del encabezado al servidor.
La información del encabezado se enviará al servidor en algunos de los siguientes escenarios:
-
imprimir, hacer eco
-
Espacio antes
<?php or space after ?>
Compruebe si los encabezados ya se están enviando usando:
if (headers_sent()) {
die("Redirect failed. Please click on this link: <a href=...>");
}
else{
exit(header("Location:/test.php"));
}
Consulte el siguiente enlace para obtener más orientación. Cómo corregir el error “Encabezados ya enviados” en PHP
Sé que esto se preguntó hace 6 años, pero me topé con esto. Probablemente debería usar un diseño web receptivo en lugar de /shop-mobile
– Michael J. Roberts
13 de julio de 2021 a las 13:47