XML解析错误:xml处理指令不在实体的开始部分
位置:http://localhost/wordpress/?feed=rss2
行:2,列:1:
<?xml version=”1.0″ encoding=”UTF-8″?>
答案大致是以下两种:1、和某插件冲突。
2、有关Feed输出的某个php文件<?php前或?>后有空行。
第一种情况比较少见,一般都是第二种,我的是第一种情况。
存在空行的原因一般是你最近更改过Wordpress得某个php文件。并且一般存在于以下文件中:wordpress程序目录的wp-feed.php,wp-atom.php,wp-rss2.php,wp-config.php和主题文件夹下的functions.php(文件可能有出如,去找你的wordpress中裕RSS相关的文件进行查看)。最常见的是后两个。
在修改文件之前请先停用wordpress的缓存插件。
如果是前面几个Wordpress目录下的文件有问题,你可能需要将文件下载下来将空行删除后再上传至空间。如果是functions.php,那么你可以直接进入Wordpress后台进行修改。方法是找到外观–编辑,然后打开博客现在主题的functions.php文件,删除空行然后更新。以下两图分别示意的是开头和末尾存在空行的情况:
此时问题基本能够解决,如果不能解决请看看其他文件是否有空行。改完后可能需要清空浏览器缓存并刷新一会才能看到结果。如果还是报错,可能是插件冲突,只有一个个停用然后再试了,这是最麻烦的,好在我没碰到,呵呵。