利用Fix Rss Feeds插件修复WordPress的Feed显示错误


Posted in PHP onDecember 19, 2015

今天突然有个网友留言说博客的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' );
}
?>​

就可以了。

PHP 相关文章推荐
PHP页面间传递参数实例代码
Jun 05 PHP
php数组总结篇(一)
Sep 30 PHP
php 什么是PEAR?(第二篇)
Mar 19 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
php内核解析:PHP中的哈希表
Jan 30 PHP
php使用mkdir创建多级目录入门例子
May 10 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
Smarty模板常见的简单应用分析
Nov 15 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
Apr 26 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
Dec 19 #PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
Dec 19 #PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 #PHP
php实现面包屑导航例子分享
Dec 19 #PHP
php实现倒计时效果
Dec 19 #PHP
Thinkphp实现自动验证和自动完成
Dec 19 #PHP
详解WordPress中过滤链接与过滤SQL语句的方法
Dec 18 #PHP
You might like
php Memcache 中实现消息队列
2009/11/24 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
PHP中curl_setopt函数用法实例分析
2015/04/16 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
jquery使用$(element).is()来判断获取的tagName
2014/08/24 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
python实现二维插值的三维显示
2018/12/17 Python
更新pip3与pyttsx3文字语音转换的实现方法
2019/08/08 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
自考自我鉴定范文
2013/10/30 职场文书
打架检讨书100字
2014/01/19 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技