利用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 29 PHP
通过PHP修改Linux或Unix口令的方法分享
Jan 30 PHP
2个Codeigniter文件批量上传控制器写法例子
Jul 25 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
Aug 16 PHP
PHP写日志的实现方法
Nov 05 PHP
PHP速成大法
Jan 30 PHP
php比较相似字符串的方法
Jun 05 PHP
6个超实用的PHP代码片段
Aug 10 PHP
适用于初学者的简易PHP文件上传类
Oct 29 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
Jul 18 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 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
YII Framework框架教程之安全方案详解
2016/03/14 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
XML的代替者----JSON
2007/07/21 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
jQuery文本框(input textare)事件绑定方法教程
2013/04/24 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
director.js实现前端路由使用实例
2015/02/03 Javascript
JavaScript中window.open用法实例详解
2015/04/15 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
Markdown+Bootstrap图片自适应属性详解
2016/05/21 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
node.js中npm包管理工具用法分析
2020/02/14 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
python Django连接MySQL数据库做增删改查
2013/11/07 Python
python获取本地计算机名字的方法
2015/04/29 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
python在线编译器的简单原理及简单实现代码
2018/02/02 Python
Python中extend和append的区别讲解
2019/01/24 Python
项目专员岗位职责
2013/12/04 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
化工实习心得体会
2014/09/09 职场文书
小学班主任个人总结
2015/03/03 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书