最近更新主題的時(shí)候,使用了 wp_redirect() 函數(shù)來做一個(gè)頁面跳轉(zhuǎn),沒想到出現(xiàn)了“Warning: Cannot modify header information – headers already sent”的錯(cuò)誤提示:

搜索了下,php中使用重定向跳轉(zhuǎn)時(shí),“Warning: Cannot modify header information – headers already sent by (output started at…”是常見的錯(cuò)誤提醒,出現(xiàn)該錯(cuò)誤的原因是跳轉(zhuǎn)函數(shù)前有包括回車、空格、換行的輸出,解決方法是使用ob_start()函數(shù)打開緩沖區(qū),使用跳轉(zhuǎn)前的輸入進(jìn)入緩沖區(qū)而不會(huì)立即輸出,避免這個(gè)錯(cuò)誤提醒。
如果是 WordPress 使用 wp_redirect() 函數(shù)導(dǎo)致的這個(gè)問題,在當(dāng)前主題的 functions.php 文件中添加以下函數(shù)即可:
/**
* 解決 wp_redirect()導(dǎo)致的 Warning: Cannot modify header information 問題
* http://www.ydqwiac.cn/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




