WordPress 如何使用 wp_redirect 函数出现 Warning: Cannot modify header information – headers already sent

不要因为一时的失败和挫折,就忘记以往壮志满满说过要去的远方。人皆有爱生恶死之心,人皆为舍生取死之道。何也见善不明耳。

最近更新主题的时候,使用了 wp_redirect() 函数来做一个页面跳转,没想到出现了“Warning: Cannot modify header information – headers already sent”的错误提示:

搜索了下,php中使用重定向跳转时,“Warning: Cannot modify header information – headers already sent by (output started at…”是常见的错误提醒,出现该错误的原因是跳转函数前有包括回车、空格、换行的输出,解决方法是使用ob_start()函数打开缓冲区,使用跳转前的输入进入缓冲区而不会立即输出,避免这个错误提醒。

如果是 WordPress 使用 wp_redirect() 函数导致的这个问题,在当前主题的 functions.php 文件中添加以下函数即可:

1
2
3
4
5
6
7
8
/**
* 解决 wp_redirect()导致的 Warning: Cannot modify header information 问题
* https://www.wpdaxue.com/wp_redirect-Cannot-modify-header-information.html
*/
function cmp_do_output_buffer() {
    ob_start();
}
add_action('init', 'cmp_do_output_buffer');

/** * 解决 wp_redirect()导致的 Warning: Cannot modify header information 问题 * https://www.wpdaxue.com/wp_redirect-Cannot-modify-header-information.html */ function cmp_do_output_buffer() { ob_start(); } add_action('init', 'cmp_do_output_buffer');

如果大家还有其他解决办法,欢迎和我们一起分享。

参考资料:

http://www.boke8.net/wordpress-cannot-modify-header-information.html

http://stackoverflow.com/questions/7381661/cannot-modify-header-information-headers-already-sent-by-wordpress-issue#answer-7461813

本文WordPress 如何使用 wp_redirect 函数出现 Warning: Cannot modify header information – headers already sent到此结束。人的一生,没有一味的苦,没有永远的痛;没有迈可是的坎,没有闯可是的关。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress做公司官网好吗?会不会显得档次很低?

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?