解决WordPress 打开Feed页面“This page contains the following errors…”的问题

趁着国庆假,今天解决了 Jeff的阳台 的Geekwork主题的几个bug。其中一个是打开feed页面(即http://www.jianhui.org/feed)会显示“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.”的错误。

更详细的错误细节

IE 中会有类似““无效的 xml 声明, 行: 2 字符: 6””的提醒;

火狐浏览器中:XML解析错误:xml处理指令不在实体的开始部分 位置:http://localhost/wordpress/?feed=rss2 行:2,列:1: <?xml version="1.0" encoding="UTF-8"?>

图片演示:

解决方法

经过多次搜索以及实践,出现该问题的原因是代码书写不规范:某些php文件 <?php前或 ?>后有空格或空行。

如果自己修改过主题的可能会在复制人家代码的时候导致 <?php前或 ?>后有空格或空行。如下面:

EA3A3A6C7C92D02482FA75B8C2595554_337_124

64EF15D997A3B1690CE64D440A7B999F_286_123

还有要注意的其他“空格”的地方:

<?php是不能有空格及其他字符分开的。<?php?> 是PHP的默认语法,而<??>则是短标记方法,需要在php.ini中开启short_open_tag指令的。
<?后面紧跟着php,之间没有空格;是<?php 而不是 <? php

总之要做的是:找出不该存在的空格或空行,删除之即可。

评分:
当前平均分 0.00 (0%) - 0 个投票
8 条 评论
  1. :grin: 谢谢博主,用你的方法,我的谷歌网站地图也没错误了,只删除了几个空行,哈哈哈,非常感谢

    10年前 回复
    • 我的谷歌网站地图也是这个错误,你能告诉我怎么改的吗

      9年前 回复
  2. 我的网站feed就有这个问题。包含在html中的php前后空格也要删除吗

    10年前 回复
    • 不懂你啥意思,反正后面空格有的就要删除

      10年前 回复
      • 比如我有一段代码:
        <li id=”comment-“>
        <div id="div-comment-” class=”comment-body”>
        是这样子的。

        10年前 回复
        • html的没问题的,以上仅针对php代码

          10年前 回复
          • 你这评论框有啥问题,我粘贴的PHP都没了。其实是相当于这样:

            <ul>
            <li> <PHP代码在这>
            </li>
            <ul>

            10年前 回复
            • 应该也没问题的啊,文中所说有空格的php代码主要是在functions.php 文件下及其引用的php文件

              10年前 回复
发表评论