WP_redirect不工作(标题已经在pluggable.php中发送)



我想在模板文件中使用以下代码:

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函数上面的代码没有将头信息发送到服务器。

报头信息将在以下一些情况下发送到服务器:

  1. print, echo

  2. <?php or space after ?>前空格

检查报头是否已经发送:

if (headers_sent()) {
     die("Redirect failed. Please click on this link: <a href=...>");
}
else{
     exit(header("Location:/test.php"));
}

参考下面的链接以获得进一步的指导。如何修复已经发送的标题PHP出错

最新更新