利用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中使用模板的方法
May 24 PHP
php 前一天或后一天的日期
Jun 28 PHP
PHP扩展编写点滴 技巧收集
Mar 09 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
Jun 18 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
Jun 24 PHP
php检测网页是否被百度收录的函数代码
Oct 09 PHP
php不使用copy()函数复制文件的方法
Mar 13 PHP
smarty模板引擎之内建函数用法
Mar 30 PHP
php实现xml与json之间的相互转换功能实例
Jul 07 PHP
PHP数据的提交与过滤基本操作实例详解
Nov 11 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 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实现截取指定长度
2013/08/06 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
javascript 面向对象,实现namespace,class,继承,重载
2009/10/29 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
判断JS对象是否拥有某种属性的两种方式
2013/12/02 Javascript
理解javascript正则表达式
2016/03/08 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
2017/08/30 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
详解关于Vuex的action传入多个参数的问题
2019/02/22 Javascript
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
Python的设计模式编程入门指南
2015/04/02 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
Python批量查询域名是否被注册过
2017/06/21 Python
python正则表达式及使用正则表达式的例子
2018/01/22 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
pytorch 数据集图片显示方法
2018/07/26 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
Pandas时间序列:重采样及频率转换方式
2019/12/26 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
中国网上药店领导者:1药网
2017/02/16 全球购物
暑期学习心得体会
2014/09/02 职场文书
对照检查剖析材料
2014/09/30 职场文书
庆祝儿童节标语
2014/10/09 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
目标责任书格式范文
2015/05/11 职场文书