程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 利用Fix Rss Feeds插件修復WordPress的Feed顯示錯誤

利用Fix Rss Feeds插件修復WordPress的Feed顯示錯誤

編輯:PHP綜合

今天突然有個網友留言說博客的Feed掛了,症狀如下:

Chrome直接打開訂閱頁面顯示如下:

This page contains the following errors:

error on line 1 at column 1: Document is empty

Below is a rendering of the page up to the first error.

FeedDemon提示:此Feed包含錯誤。

添加後也沒什麼影響,能正常使用。

鮮果閱讀器也可閱讀,但是沒有獲取到最新的文章。

用IE試了下,顯示“文檔頂層存在無效內容。”

查看源代碼發現是能看到HTML格式解析後的內容,這說明WordPress的Feed輸出是沒有問題的,出問題的在於某個文件的格式。不過要找到是哪個文件出問題就比較難了。網上給出的解決方法大致都是這樣的:

檢測上、下是否有多余的回車、換行符號

1、檢測 wp-config.php 文件,查看PHP主體之外的代碼有無回車符;

2、同上,檢測 wp-rss2.php,wp-atom.php文件,如果最近沒修改過,可略過;

3、同上,檢測 functions.php 文件;

4、注意 feed是有緩存的,在修改完成之後,發一篇文章,使WP程序重建feed,從而查看效果;

5、若仍然有錯,可以嘗試暫時關閉所有插件,更換主題等逐個排除。

把上述文件都修改了個遍,還是沒有頭緒。。於是裝了個插件“Fix Rss Feeds”,啟用後修復一下就搞定了。而且修復之後把插件刪了也不會反彈~

研究了下這個插件,似乎只是修改了WordPress根目錄下的wp-blog-header.php,其實只需將這個文件改為:

<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */

if ( !isset($wp_did_header) ) {
 $wp_did_header = true;
  ob_start(); //2010-09-18 gofunnow.com added, it will Fix rss feed error "Error on line 2: The processing instruction target matching "[xX][mM][lL]" is not allowed." while burn feed from feedburner.com
 require_once( dirname(__FILE__) . '/wp-load.php' );
  ob_end_clean(); //2010-09-18 gofunnow.com added, it will Fix rss feed error "Error on line 2: The processing instruction target matching "[xX][mM][lL]" is not allowed." while burn feed from feedburner.com
 wp();
 require_once( ABSPATH . WPINC . '/template-loader.php' );
}
?>​

就可以了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved