我想在模板文件中使用以下代码:
if ( wp_is_mobile() ) {
wp_redirect( "/shop-mobile", $status );
}
但是它说:头已经由/filewithcode在…/wp_includes/pluggable.php第1196行发送
我试图从空格中清除可插入的文档。还有什么问题呢?谢谢你
"要解决"headers already sent"的问题,你需要把所有表单处理从页面底部移到页面顶部。如果需要调用wp_redirect(),则必须在将任何内容(HTML或其他内容)打印到页面之前调用该调用。"
参考:https://wordpress.stackexchange.com/questions/81566/wp-redirect-headers-already-sent-after-front-end-submission-form
你可以阅读这个关于这个问题的更多解释
如何修复"标题已发送"PHP出错
确保wp_redirect函数上面的代码没有将头信息发送到服务器。
报头信息将在以下一些情况下发送到服务器:
-
print, echo
-
<?php or space after ?>
前空格
检查报头是否已经发送:
if (headers_sent()) {
die("Redirect failed. Please click on this link: <a href=...>");
}
else{
exit(header("Location:/test.php"));
}
参考下面的链接以获得进一步的指导。如何修复已经发送的标题PHP出错