WordPress网站RSS Feed出现错误如何修复

发布时间:

我们在使用wordpress建立网站,不论是新建立的站点,亦或者成品网站,到手后我们都需要进行修改,修改代码或者插件过程中,难免会出现一些错误,比如WordPress Rss Feed输出错误,下面就来为大家带来WordPress RSS Feed报错的原因及修复方法。

WordPress网站RSS Feed出现错误如何修复

Rss输出错误概况 近日发现 Rss 输出出现问题,大体提示如下,有可能提示英文也有可能提示中文,具体的看操作系统和浏览器:

This page contains the following errors:
error on line 2 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.
XML解析错误:xml处理指令不在实体的开始部分
位置:http://localhost/wordpress/?feed=rss2
行:1,列:5:

<?xml version=”1.0″ encoding=”UTF-8″?>

导致Rss输出错误原因分析

网上所说一般以下两条:

1、和某插件冲突。

至今没遇到过,也应该很少遇到,毕竟插件作者一般都会排除这样的错误。 如果实在有疑问,那就在 Rss 输出错误时停用所有插件试试输出会不会恢复正常。 如果没有正常则NEXT

2、有关Feed输出的某个php文件后有空行。

这里的某个文件指的是wp-feed.php,wp-atom.php,wp-rss2.php,wp-config.php和主题文件夹下的functions.php文件, 一般来说wp-feed.php,wp-atom.php,wp-rss2.php,wp-config.php这些主程序文件我们是很少动的, 所以这些文件想都不用想直接排除掉,那么问题的症结就再function.php文件上了。

被忽略的症结

注意:

现在网上能搜到的大部分的解决办法是让你检查文件的头尾两部分的空格或空行。(这个简单)其实做过主题的人都会知道,我们在做主题时我们会把许多调用的方法一股脑放到functions.php里,而且为了便于理解我们会把每一个方法进行一次代码的“封装”,请原谅我乱用词,也就是会出现php代码开始和结束标记满天飞的情况,两端首尾相连的标记请不要有任何字符,其中包括空格和换行以及不多说了看看下面的示例你就都懂了,如果不懂那你还是用新浪微博吧,WordPress不适合你。

//错误的示例
 function a(){......}; //两端php标记中间出现换行符。
 function b(){......};
 
//正确的示例
 function a(){......};function b(){......};//两端php标记没有字符。
 function a(){......};function b(){......};//或者直接合并

找出所有这样的代码,全部调整好,问题自然解决。