WordPress Rss Feed 输出错误问题解决总结

不管是自己写主题也好,还是用别人的成品主题自己再去折腾也好,对代码的修改和添加都不免引起各种各样的错误,这其中就包括 WordPress Rss Feed 输出错误,也是最让我头疼的错误,因为大部分情况下,Rss 的输出我是不检查的,只有在有重大调整的时候我才去每一样功能按照备忘录去检查。

别的不多说了,感慨在后面,先来解决问题。Go……

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:


在此提示网上有很多解决此类问题的文章是摘抄的,娘的,百度排名竟然还很靠前,但大都忽略了一个重要问题,下面会讲到。
错误提示的图我就不上了,上了图感觉像是摘抄的,哈哈。

导致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(){......};//或者直接合并

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

Rss 我们还需要吗?

虽然有很多朋友觉得 Rss 是 WordPress 或网站的一个无关紧要的功能,因为订阅者现在越来越少,Rss 目前的聚合形式又不是很给力,毕竟微博的兴起、轻博客的面世越来越多的人趋向于像新浪微博、轻博客那样主体聚合的方式,而像我这种喜欢写独立博客,倾向于信息聚合的方式人已经越来越少,有很多认识的写独立博客的朋友,也都转投新浪、点点的怀抱了,这也就是像鲜果、抓虾等聚合类的网站慢慢没落的原因,甚至连盛极一时的 feedsky 也都……(此处省略若干文字)。
独立博客是互联网不可缺少的东西,至少是闷骚博主们不能缺少的东西,因为独立象征着自由,让我们能从新浪微博、轻博客……等等等等千篇一律的博客样式中解脱出来,创建属于自己的样式、主题,更可以拥有自己的域名,是我辈之人的渴望,但不能像新浪微博和轻博客那样无缝的信息沟通和关注又是吾之不欲,就目前来看就只能在 Rss 上做聚合的文章了,你懂,所以还是从每一步做起,清除掉所有有碍你发展的错误,一旦日后能够跟轻博客或者微博通过Rss接轨,不要因为 Rss 而在门外游荡。

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 66 queries in 0.547 seconds