我想在模板文件中使用此代码:
if ( wp_is_mobile() ) {
wp_redirect( "/shop-mobile", $status );
}
但它说:标题已经由/ filewithcode发送到第1196行的/ wp_includes / pluggable.php
我试图从空格中清除可插拔文档..这里还有什么问题?谢谢
答案 0 :(得分:2)
"修复已发送的"标题"问题是,您需要将所有表单处理从页面底部移动到页面顶部。如果您需要调用wp_redirect(),则必须在向页面打印任何内容(HTML或其他任何内容)之前进行该调用。"
您可以阅读此内容以获取有关此问题的更多说明
答案 1 :(得分:0)
确保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"));
}
请参阅以下链接以获取进一步的指导。How to fix "Headers already sent" error in PHP