[英]How to redirect in a wordpress custom plugin
在处理发布请求后,我使用 wp_redirect() 和 header() 进行重定向,但出现此错误“标题已发送”。 是否有另一种重定向方法?
你是正确的wp_redirect()
是要走的路。 您的问题是您的插件或模板的某些部分已经将响应发送回客户端的浏览器,即标头已经发送。
您需要在发送任何其他内容之前调用wp_redirect()
,并且只发送那个。
在重定向调用之前,您的代码可以通过多种方式发送标头。 例如,问题可能很简单,例如在 PHP 开放标记<?php
之前有一个换行符或空格,该标记被解释为要发送回客户端浏览器的内容。 当解释器到达wp_redirect()
行时,标头已经发送,因此wp_redirect()
不可能发送重定向标头。
有关 HTTP 重定向的更多信息: https : //developer.mozilla.org/en-US/docs/Web/HTTP/Redirections
请注意,在wp_redirect()
行wp_redirect()
跟一个exit;
是很常见的exit;
行以确保 WordPress/PHP 执行停止并且没有进一步的标题/内容被发回。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.